Inversion Fair Value Gap Model [PJ Trades]GENERAL OVERVIEW:
The Inversion Fair Value Gap Model indicator is a complete rule-based system designed to identify trade setups using the Inversion Fair Value Gap strategy taught by PJ Trades. It automates the strategy’s workflow by detecting liquidity sweeps, confirming V-shape recoveries, identifying valid Inversion Fair Value Gaps, validating higher-timeframe Fair Value Gap taps, and checking for a clear opposite Draw On Liquidity. These factors are evaluated together to produce a signal rating of A, A+, or A++, based on how many of these criteria the setup satisfies. When a long or short setup is confirmed, the indicator automatically plots an entry, stop-loss, break-even, and two take-profit levels.
A dashboard that updates in real-time displays the current directional bias, liquidity sweep activity, Inversion Fair Value Gap confirmation state, V Shape Recovery state, higher-timeframe Fair Value Gap context, opposite Draw on Liquidity, SMT divergence, and other key information relevant to the trading model. The indicator also includes optional trade statistics on the dashboard that tracks the recent win rates for A, A+, and A++ setups, as well as separate long and short win rates.
This indicator was developed by Flux Charts, in collaboration with PJ Trades.
What is the theory behind the indicator?:
The Inversion Fair Value Gap model is built on the idea that when the market pushes above a high or below a low, it often does so to sweep liquidity. If that move quickly fails and price reverses, it shows the sweep was a grab for orders and not a continuation. That quick rejection is the V Shape Recovery behavior. An Inversion Fair Value Gap forms when a Fair Value Gap that once supported the original move gets invalidated afterward. That invalidation confirms the shift in direction and becomes the new reference point for trades. The Inversion Fair Value Gap model uses this sequence because it highlights when the market has taken liquidity, rejected continuation, and started delivering in the opposite direction.
INVERSION FAIR VALUE GAP MODEL FEATURES:
The Inversion Fair Value Gap Model indicator includes 15 main features:
Sessions
Key Levels & Swing Levels
Liquidity Levels
Liquidity Sweeps
V Shape Recoveries
Higher-Timeframe Fair Value Gaps
Inversion Fair Value Gaps
Macros
Bias
Signals
New Day Opening Gap
New Week Opening Gap
SMT Divergences
Dashboard
Alerts
SESSIONS:
The Inversion Fair Value Gap Model indicator includes five trading sessions (times in EST):
Asia: 20:00 - 00:00
London: 02:00 - 05:00
NY AM: 09:30 - 12:15
NY Lunch: 12:15 - 13:30
NY PM: 13:30 - 16:00
Session highs and lows are automatically tracked and used within the indicator’s signal logic.
🔹Session Zones:
Each session has a zone that outlines its active time window. These zones can be toggled on or off independently. When active, they visually separate each part of the trading day. Users can adjust the color and opacity of each session box. Users can also enable session labels, which place a label above each session zone showing its corresponding session name.
🔹Session Time:
Users can toggle on ‘Time’ which will display each session’s time window next to its session title.
🔹Session Highs/Lows:
Every session can display its own high and low as horizontal lines. Users can customize the line style for session highs/lows, choosing between solid, dashed, or dotted. The color of the lines will match the same color used for the session box. Users can adjust the color of the labels as well, which is applied to all session high/low labels.
When price has moved above a session high, or below a session low, the label will not be displayed anymore.
🔹Extend Levels:
When enabled, each session’s high and low levels can be extended forward by a set number of bars.
Please Note: Disabling a session under the main Sessions section only hides its visuals (boxes, lines, or labels). It does not impact signal detection or logic.
KEY LEVELS:
The Inversion Fair Value Gap Model indicator includes 11 key market levels that outline important structural price areas across daily, weekly, and monthly timeframes. These levels include the Daily Open, Previous Day High/Low, Weekly Open, Previous Week High/Low, Monthly Open, Previous Month High/Low, Midnight Open, and 08:30 Open. The levels can be enabled or disabled and customized in color and line style. All of the levels except the Midnight Open and 08:30 Open are used for the indicator’s signal logic.
🔹Daily Open
The Daily Open marks where the current trading day began.
🔹Previous Day High/Low
The Previous Day High (PDH) marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed.
The Previous Day Low (PDL) marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in.
When price pushes above the PDH or below the PDL, the level is removed from the chart.
🔹Weekly Open
The Weekly Open marks the first price of the current trading week.
🔹Previous Week High/Low
The Previous Week High (PWH) marks the highest price reached during the previous trading week. It shows where buying pressure reached its peak before the weekly close.
The Previous Week Low (PWL) marks the lowest price reached during the previous trading week. It shows where sellers pushed price to its lowest point before buyers regained control.
When price pushes above the PWH or below the PWL, the level is removed from the chart.
🔹Monthly Open
The Monthly Open marks the opening price of the current month.
🔹Previous Month High/Low
The Previous Month High (PMH) marks the highest price reached during the previous calendar month. It represents the point at which buyers achieved the strongest push before the monthly close.
The Previous Month Low (PML) marks the lowest price reached during the previous calendar month. It shows where selling pressure was strongest before buyers stepped back in.
When price pushes above the PMH or below the PML, the level is removed from the chart.
🔹Midnight Open
The Midnight Open marks the first price of the trading day at 00:00 EST.
🔹08:30 Open
The 08:30 Open marks the opening price at 08:30 EST.
🔹Customization Options:
Users can fully customize the appearance of all key levels, including the following:
Labels
Label Size
Line Style
Line Colors
Labels:
Users can toggle on ‘Show Labels’ to display labels for each toggled-on level that price hasn’t pushed above/below. Users can also adjust the size of labels, choosing between auto, tiny, small, normal, large, or huge.
Line Style:
Users can select a line style, choosing between solid, dashed, or dotted, which is applied to all toggled-on key levels.
Line Color:
Users can choose different colors for each of the following key levels:
Daily Open, Previous Day High, Previous Day Low
Weekly Open, Previous Week High, Previous Week Low,
Monthly Open, Previous Month High, Previous Month Low
Midnight Open
08:30 Open
🔹Extend Levels:
When enabled, each key level is extended forward by a set number of bars.
Please Note: Disabling a level in the “Key Levels” section only hides its visuals and does not affect the indicator’s signals.
🔹Swing Levels
The indicator automatically plots Swing Highs and Swing Lows which are used in the indicator’s signal generation logic.
A swing high forms when a candle’s high is greater than the highs of the bars immediately before and after it.
A swing low forms when a candle’s low is lower than the lows of the bars immediately before and after it.
🔹Swing Level Colors
Users can customize the color of Active Levels and Swept Levels.
Active Levels are levels that price has not pushed above or below
Swept Levels are levels that price pushed above or below.
🔹Swing Levels – Show Nearest
This setting determines how many swing highs/lows are displayed on the chart. The indicator will display the nearest X highs to price and the nearest X lows to price.
For example, if ‘Show Nearest’ is set to 2, the nearest 2 swing highs and nearest 2 swing lows to price will be plotted on the chart.
LIQUIDITY LEVELS:
The Inversion Fair Value Gap Model indicator automatically identifies and plots liquidity at key structural points in the market. These include swing highs and swing lows, session highs and lows, and major higher timeframe reference points as explained in the SESSIONS and KEY LEVELS sections above. All of these areas are treated as potential pools of resting orders and are used throughout the indicator’s signal logic.
🔹What is Buyside Liquidity?:
Buyside Liquidity (BSL) represents price levels where many buy stop orders are sitting, usually from traders holding short positions. When price moves into these areas, those stop-loss orders get triggered and short sellers are forced to buy back their positions. These zones often form above key highs such as the previous day, week, or month. Understanding BSL is important because when price reaches these levels, the sudden wave of buy orders can create sharp reactions or reversals as liquidity is taken from the market.
🔹What is Sellside Liquidity?:
Sellside Liquidity (SSL) represents price levels where many sell stop orders are waiting, usually from traders holding long positions. When price drops into these areas, those stop-loss orders are triggered and long traders are forced to sell their positions. These zones often form below key lows such as the previous day, week, or month. Understanding SSL is important because when price reaches these levels, the surge of sell orders can cause sharp reactions or reversals as liquidity is taken from the market.
🔹 Which Liquidity Levels Are Used
The indicator tracks liquidity at the following areas:
Asia Session High/Low
London High/Low
NY AM High/Low
NY Lunch High/Low
NY PM High/Low
Previous Day High and Low
Previous Week High and Low
Previous Month High and Low
Daily Open
Weekly Open
Monthly Open
Swing Highs/Lows
🔹 How Liquidity Levels Are Used
All tracked levels across sessions, swing points, and higher timeframes serve as potential liquidity targets. When price trades above one of these highs, the indicator looks for short setups if other confluences align. When price trades below lows, the indicator looks for long setups if other confluences align.
LIQUIDITY SWEEPS:
The indicator automatically detects Buyside Liquidity and Sellside Liquidity sweeps using the liquidity levels mentioned in the previous section.
🔹What is a Liquidity Sweep?
Liquidity sweeps occur when price trades beyond a key high or low and activates resting buy-stop or sell-stop orders in that area. It’s how the market gathers the liquidity needed for larger participants to enter positions.
Traders often place stop-loss orders around obvious highs and lows, such as the previous day’s, week’s, or month’s levels. When price pushes through one of these areas, it triggers the stops placed there and generates a burst of volume. This can lead to quick movements in price as those orders are executed.
🔹Sellside Liquidity Sweep
These occur when price dips below a Sellside Liquidity (SSL) level, taking out the stop-loss orders placed by long traders below that low. When this happens, the indicator records the sweep and begins monitoring for potential long setups as the next step in the IFVG trading strategy. Long trades are only eligible after a SSL sweep.
🔹Buyside Liquidity Sweep
These occur when price dips above a Buyside Liquidity (BSL) level, taking out the stop-loss orders placed by short seller traders above that high. When this happens, the indicator records the sweep and begins monitoring for potential short setups as the next step in the trading strategy. Short trades are only eligible after a BSL sweep.
🔹How to Use Liquidity Sweeps
Liquidity sweeps are not direct trade signals. They are best used as context when forming a directional bias. A sweep shows that the market has removed liquidity from one side, which can hint at where the next move may develop.
For example:
When BSL is swept, it often signals that buy stops have been triggered and the market may be preparing to move lower. Traders may then begin looking for short opportunities.
When SSL is swept, it often signals that sell stops have been triggered and the market may be preparing to move higher. Traders may then begin looking for long opportunities.
V SHAPE RECOVERIES:
🔹 What Is a V Shape Recovery?
A V shape recovery is a sharp, immediate reversal that happens right after price sweeps BSL or SSL. It indicates that price quickly moved back in the opposite direction after trading through the level. This behavior signals a shift in momentum and is a required confirmation in the indicator for signal generation. The indicator will not look for long trades after a SSL sweep unless a V shape recovery occurs. It will not look for short trades after a BSL sweep unless a V shape recovery occurs. Without this behavior, the indicator assumes that price may still be delivering in the direction of the sweep, so no valid setups can form.
🔹 Why V Shape Recoveries Matter
V shape recoveries help confirm that the liquidity the sweep did not immediately continue in the same direction. They separate false breaks from true continuation. A sweep without recovery often means price may keep trending, so the indicator does not generate signals in those cases. A sweep with a V shape recovery confirms rejection and sets the foundation for valid Inversion Fair Value Gap formation. This makes the V shape recovery one of the most important sequence steps in the Inversion Fair Value Gap Model.
🔹 How the Indicator Detects V Shape Recoveries
V shape recoveries can be visually intuitive when looking at a chart, but they are difficult to define consistently programmatically. To ensure reliable and repeatable detection, the indicator uses a rules-based method that evaluates candle size, candle direction, and the strength of the move immediately following the liquidity sweep. This approach removes subjectivity and allows the indicator to confirm V shape behavior the same way every time.
The indicator does not plot any visual elements specifically for V shape recoveries. Instead, the presence of a V shape recovery is implied through the signals themselves. Every valid long or short signal that appears after a liquidity sweep requires a confirmed V shape recovery. This means that if a signal is generated following a sweep, a V shape recovery has occurred.
🔹 V Shape Recovery After a Sellside Sweep (SSL Sweep)
After price trades below a sellside liquidity level, long positions are liquidated. If buyers quickly step in and force price upward with strong momentum, this forms a V shape recovery. This signals that the sweep below the low was rejected and that buyers have reclaimed control. When this occurs, the indicator begins monitoring for long setups.
🔹 V Shape Recovery After a Buyside Sweep (BSL Sweep)
After price pushes above a buyside liquidity level, many short positions are stopped out. If sellers immediately step in and drive price back down with strong movement, this forms a V shape recovery. This behavior reflects a quick change in candle direction immediately following the sweep. When this occurs, the indicator begins monitoring for short setups.
🔹Failed V Shape Recoveries
These examples show failed V shape recoveries, where price did not reverse decisively after the BSL or SSL sweep. The lack of strong response from buyers or sellers indicates that momentum did not shift. Thus, the indicator will not detect valid long/short setups using these liquidity sweeps.
HIGHER-TIMEFRAME FAIR VALUE GAPS:
Higher-timeframe Fair Value Gaps (HTF FVGs) provide important context in the Inversion Fair Value Gap Model because they show where significant imbalance occurred on larger market structures. The indicator automatically detects HTF FVGs and uses them as part of the signal rating system.
🔹 What Is a Fair Value Gap?
A Fair Value Gap (FVG) is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it.
A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
This creates an imbalance because price moved so quickly that one side of the auction did not trade.
Examples:
🔹 What Makes an FVG “Higher-Timeframe”?
In this indicator, HTF FVGs are Fair Value Gaps detected on timeframes higher than the chart’s current timeframe. For example, on a 5-minute chart, a 1-hour FVG would be considered a HTF FVG. The indicator automatically plots and checks whether price interacts with these HTF FVGs during a liquidity sweep and incorporates this into the signal rating (A, A+, A++).
🔹 How the Indicator Uses Higher-Timeframe FVGs
The indicator automatically scans up to three user-selected higher timeframes for valid bullish and bearish FVGs and tracks price’s behavior around them in the background. When any of these higher timeframes are enabled, their FVGs are used directly within the signal logic.
During a liquidity sweep, the indicator checks whether price taps into any enabled HTF FVG. A tap occurs when price trades inside the boundaries of a higher-timeframe FVG during or immediately after the sweep.
A bullish HTF FVG tap during a sellside sweep supports a long setup.
A bearish HTF FVG tap during a buyside sweep supports a short setup.
When an HTF FVG tap aligns with the direction of the setup, the signal’s rating is increased. This can increase a setup’s rating from A to A+ or from A+ to A++.
🔹 Higher-Timeframe FVG Customization
Users can select up to three higher timeframes for HTF FVG detection. When a higher timeframe is enabled, its FVGs are used in the model’s signal logic. Users can also choose whether to display these HTF FVGs visually on the chart, by enabling the ‘Plot HTF FVGs’ setting.
Each enabled HTF FVG can be customized with the following options:
Bullish and Bearish Colors: Users can set different fill colors for bullish and bearish HTF FVGs for each selected timeframe.
Midline: When enabled, a midline is drawn through the center of each HTF FVG. Users can customize the midline’s line style, choosing between solid, dashed, or dotted and also customize the midline’s color.
Labels: When enabled, each plotted HTF FVG displays a label that shows its originating timeframe (for example, 1H, 4H).
Plot HTF FVGs: When disabled, the HTF FVG zones are hidden from the chart while the logic remains active in the background for signals.
Show Nearest:
This setting controls how many HTF FVGs are displayed based on proximity to current price. Users can choose to show the nearest X bullish HTF FVGs and the nearest X bearish HTF FVGs. This filter is applied across all enabled higher timeframes and does not limit by timeframe individually.
🔹When are Higher Timeframe Fair Value Gaps mitigated?
A Higher Timeframe Fair Value Gap is considered mitigated when a candle from the chart’s timeframe closes above the gap for a bearish FVG or below the gap for a bullish FVG.
INVERSION FAIR VALUE GAPS:
Inversion Fair Value Gaps (IFVGs) are a core requirement of the Inversion Fair Value Gap Model. Every long and short signal generated by the indicator requires a valid IFVG, just like liquidity sweeps and V shape recoveries. Without a confirmed IFVG, the model will not produce a setup.
🔹 What Is an Inversion Fair Value Gap?
An Inversion Fair Value Gap is a Fair Value Gap that becomes invalidated by a candle close in the opposite direction. This “flip” confirms that the original imbalance failed and that the market has shifted.
A bullish IFVG forms when a bearish FVG is invalidated by a candle closing above it.
A bearish IFVG forms when a bullish FVG is invalidated by a candle closing below it.
In the indicator, IFVGs are not used as retracement areas. Signals are generated immediately when a valid IFVG forms, not after price returns to the gap. The IFVG itself is the confirmation event that finalizes a setup sequence after a liquidity sweep and V shape recovery.
🔹 How the Indicator Plots IFVGs
The indicator only plots IFVGs that are used in long or short setups. Not every possible IFVG is shown on the chart. Only the IFVG involved in a confirmed signal is displayed. Users can disable IFVG plots entirely if they prefer a minimal view. This hides the visual gaps but does not affect the signal logic.
🔹 Customization Options
Users can customize how IFVGs appear on the chart:
Color Settings: Choose separate fill colors for bullish IFVGs and bearish IFVGs.
Midline: Toggle an optional midline inside the IFVG and choose between a solid, dashed, or dotted line.
Midline Color: Adjust the color of the IFVG Midline.
MACROS:
Macros are short, predefined time windows, where price is more likely to seek liquidity or rebalance imbalances. These periods often create sharp movements or shifts in delivery, giving additional context to setups. In the Inversion Fair Value Gap Model, macros are used as a confluence factor. When a long or short signal forms during a macro time window, the setup’s rating can increase from A to A+ or from A+ to A++.
Macros are not required for a signal to form, but they increase the signal’s rating when the setup aligns with macro timing.
🔹 How the Indicator Uses Macros
The indicator allows users to enable up to five macros. Each macro has its own start and end time, which the user can customize. These time windows are used directly in the signal logic. If a valid IFVG setup forms while price is inside any of the enabled macro windows, the indicator increases the signal’s rating.
Users may visually disable macros on the chart without affecting signal logic. Disabling visuals hides the macro zones, labels, and lines, but the underlying macro logic continues to function in the background for signals.
The indicator’s default macros use the following time periods (in EST):
09:50 - 10:10
10:50 - 11:10
11:50 - 12:10
12:50 - 13:10
13:50 - 14:10
🔹 Macro Settings
Each macro displays a shaded zone representing the active time window. This zone can be toggled on or off. Users can customize:
The color of each macro zone
The opacity of each zone
Whether the zones display at all (‘Show Zones’)
These visuals help identify whether price is currently inside a macro window.
🔹 Macro Labels:
Users can enable macro labels, which place a text label showing the macro’s title and its time window. The label color is global (applies to all macros), and the label size can be adjusted. Individual macros cannot have unique label colors.
🔹 Macro Start/End Lines
For additional clarity, the indicator draws two vertical markers for each macro:
One at the start of the macro
One at the end of the macro
A horizontal macro line is then drawn between the highs of these two candles to highlight the full duration of the macro window. Users can customize:
The line styles (solid, dashed, dotted) of the Macro Line and Start/End Lines
BIAS:
Bias determines which direction the indicator is allowed to generate signals. A bullish bias means only long setups can be confirmed. A bearish bias means only short setups can be confirmed. The bias acts as the final directional filter after a liquidity sweep, V shape recovery, and IFVG have all been validated. Even if all model conditions are met, the indicator will only confirm the setup if the direction aligns with the active bias.
Users are able to manually set a bias or use an automatic bias filter, which is explained below.
🔹 Manual Bias
Users can manually choose the directional bias at any time and choose between Bullish, Bearish, or Both.
When set to Bullish, the indicator will only confirm long setups, regardless of market structure.
When set to Bearish, only short setups are allowed.
When set to Both, the indicator can confirm both long and short setups if all requirements are met.
🔹 Automatic Bias
Automatic bias is fully rules-based and determined by how the previous session interacted with major draw-on-liquidity (DOL) levels. These levels include 1-hour highs and lows, 4-hour highs and lows, previous session highs and lows (such as Asia or London), and the previous day’s high and low. The indicator evaluates whether the previous session consolidated, manipulated liquidity, or manipulated and reversed before closing. Based on this behavior, the indicator establishes a directional bias for the current session.
◇ Previous Session Consolidation:
If the previous session did not sweep any major liquidity levels and price remained inside its range, the session is classified as consolidation.
After the current session sweeps a key low, the bias becomes bullish.
After the current session sweeps a key high, the bias becomes bearish.
The bias is determined live based on which side the current session manipulates first.
◇ Previous Session Manipulation (No Reversal):
If the previous session swept a major high-timeframe level but did not reverse before the session closed, the model assigns a reversal-based bias at the start of the current session.
If the previous session swept a low, the current session bias is bullish.
If the previous session swept a high, the current session bias is bearish.
Here, bias is determined immediately because the previous session’s manipulation defines the directional framework for the current session.
◇ Previous Session Manipulation + Reversal:
If the previous session swept a DOL level and also reversed away from it within the same session, the model assigns a continuation-based bias at the start of the current session.
If the previous session swept a low and reversed upward, the bias for the current session is bullish.
If the previous session swept a high and reversed downward, the bias is bearish.
🔹 How the Indicator Uses Bias in Practice
After the indicator validates the liquidity sweep, V shape recovery, and IFVG, it checks the active bias before confirming a signal.
If bias is bullish, only long setups are allowed.
If bias is bearish, only short setups are allowed.
If bias is Both, setups of either direction may form.
The bias does not influence the detection of liquidity sweeps, V shape recoveries, or IFVGs. It only determines whether those validated components are allowed to produce a final signal. Automatic bias updates based on session behavior, while manual bias remains fixed until the user changes it.
SIGNALS:
Signals are the final output of the Inversion Fair Value Gap Model indicator. A signal is only generated when all model conditions are satisfied in a clear, rules-based sequence.
A signal consists of:
An Entry
A Stop-Loss (SL)
A Breakeven (BE) level
Two Take-Profit levels (TP1 and TP2)
These components are plotted immediately once the final requirement (the IFVG confirmation) is met and the directional filter (bias) allows the setup.
Signals can be rated A, A+, or A++, based on whether certain confluences were present during the setup’s formation.
🔹 What All Signals Have in Common
Each signal type (A, A+, A++) requires the same four mandatory conditions. If any of these four are missing, the indicator will not print a signal.
◇ Required Component #1 – Valid Directional Bias
The bias determines whether the indicator can confirm a long or short setup.
Bullish bias → only long setups allowed
Bearish bias → only short setups allowed
Both → long or short setups allowed
Automatic bias → bias determined by session-based liquidity logic explained above
◇ Required Component #2 – Liquidity Sweep
The indicator must detect one of the following:
Sellside Liquidity Sweep (SSL Sweep) for potential long setups
Buyside Liquidity Sweep (BSL Sweep) for potential short setups
◇ Required Component #3 – V Shape Recovery
After a liquidity sweep, the indicator evaluates whether price produced a valid V shape recovery.
◇ Required Component #4 – Inversion Fair Value Gap (IFVG)
An IFVG must form in the direction of the potential setup.
A bullish IFVG forms when a bearish FVG is invalidated by a candle closing above that gap
A bearish IFVG forms when a bullish FVG is invalidated by a candle closing below that gap
The IFVG must occur after the V Shape Recovery and Liquidity Sweep. The IFVG confirmation is the final structural requirement. Once it forms, the setup is considered structurally complete.
🔹 A Signals
An A-rated signal contains exactly the four required components:
Valid Bias
Liquidity Sweep
V Shape Recovery
IFVG
An A signals represent the foundational implementation of the IFVG Model.
🔹 A+ Signals
An A+ signal includes the full A-signal structure plus ONE of the following:
Higher-Timeframe FVG Tap
Multi-Liquidity Sweep
Inside a Macro Window
◇ Higher-Timeframe FVG Tap
During a liquidity sweep, the indicator checks whether price taps into any enabled HTF FVG. A tap occurs when price trades inside the boundaries of a higher-timeframe FVG during or immediately after the sweep.
A bullish HTF FVG tap during a sellside sweep supports a long setup.
A bearish HTF FVG tap during a buyside sweep supports a short setup.
◇ Multi-Liquidity Sweep
A Multi-Liquidity Sweep occurs when price sweeps two liquidity levels of the same type in the same directional push.
Sweeping two lows in one move: Multi-Sellside Liquidity Sweep (long setups).
Sweeping two highs in one move → Multi-Buyside Liquidity Sweep (short setups).
◇ Inside a Macro Window
The final IFVG confirmation must occur inside a macro time window defined by the user.
If exactly one of these additional confluences is present, the signal rating is A+.
🔹 A++ Signals (Two Additional Confluences)
An A++ signal contains the full A signal structure plus TWO of the three confluences listed above.
HTF FVG tap + Multi-Liquidity Sweep
HTF FVG tap + Inside a Macro Window
Multi-Liquidity Sweep + Inside a Macro Window
If two confluences are present, the rating becomes A++. If all three are present, the setup is still rated a A++ (there is no A+++).
🔹 Signal Plots
When a valid long/short setup is detected, a signal with its rating appears with the following:
Entry: At the close of the candle that inverted a FVG
Stop-Loss: At the nearest swing high for short setups or nearest swing low for long setups
Breakeven Level: At the nearest swing high for long setups or the nearest swing low for short setups
Take-Profit 1: At the second nearest swing high for long setups or the second nearest swing low for short setups.
Take-Profit 2: At the third nearest swing high for long setups or the third nearest swing low for short setups.
After a signal reaches either TP2 or SL, the levels for Entry, SL, BE, TP1, and TP2 are removed from the chart. If another signal appears before the prior signal reaches either TP2 or SL, the levels are also removed.
Users can hover over any signal label to view a short summary of the exact criteria that were met for that setup. This includes whether a HTF FVG tap occurred, whether a multi-liquidity sweep was detected, whether the setup formed inside a macro window, and which liquidity level was swept prior to the V shape recovery.
🔹 Long Setup – A Rating
A long A-rated setup forms when all four core requirements of the IFVG Model occur without any additional confluences. First, price must sweep a Sellside Liquidity level. Immediately after the sweep, price must form a valid V shape recovery. Once the recovery completes, a bullish IFVG must form by invalidating a bearish Fair Value Gap with a candle close above it.
For a confirmed long signal, the indicator marks:
Entry: At the candle close that invalidates the bearish FVG and creates the IFVG
Stop Loss: At the nearest swing low
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing high
Take Profit 2: At the third nearest swing high
In this example, price sweeps a swing low, has a V Shape recovery, and forms a bullish IFVG:
🔹 Short Setup – A Rating
A short A-rated setup forms when all four core requirements of the IFVG Model occur without any additional confluences. Price must first sweep a Buyside Liquidity level. Immediately after the sweep, price must form a valid V shape recovery. Once the recovery completes, a bearish IFVG must form by invalidating a bullish Fair Value Gap with a candle close below it.
For a confirmed short signal, the indicator marks:
Entry: At the candle close that invalidates the bullish FVG and creates the IFVG
Stop Loss: At the nearest swing high
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing low
Take Profit 2: At the third nearest swing low
In this example, price sweeps a swing high, has a V shape recovery, and forms a bearish IFVG:
🔹 Long Setup – A+ Rating
A long A+ setup forms when the four core requirements of the IFVG Model occur and exactly one additional confluence is present. Price must sweep a Sellside Liquidity level, form a valid V shape recovery, and create a bullish IFVG by invalidating a bearish FVG. One of the following must also occur: a bullish HTF FVG tap during the liquidity sweep, a multi-sellside liquidity sweep, or the IFVG confirmation forms inside a macro window.
For a confirmed long A+ signal, the indicator marks:
Entry: At the candle close that creates the bullish IFVG
Stop Loss: At the nearest swing low
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing high
Take Profit 2: At the third nearest swing high
In this example, price sweeps the NY AM Session Low, taps a 30-minute HTF FVG during the sweep, has a V shape recovery, and forms a bullish IFVG:
🔹 Short Setup – A+ Rating
A short A+ setup forms when the four core requirements of the IFVG Model occur and exactly one additional confluence is present. Price must sweep a Buyside Liquidity level, form a valid V shape recovery, and create a bearish IFVG by invalidating a bullish FVG. One of the following must also occur: a bearish HTF FVG tap, a multi-buyside liquidity sweep, or the IFVG confirmation forms inside a macro window.
For a confirmed short A+ signal, the indicator marks:
Entry: At the candle close that creates the bearish IFVG
Stop Loss: At the nearest swing high
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing low
Take Profit 2: At the third nearest swing low
In this example, price sweeps a swing high, has a V shape recovery, and forms a bearish IFVG inside of the 13:50-14:10 macro:
🔹 Long Setup – A++ Rating
A long A++ setup forms when the four core requirements of the IFVG Model occur and at least two additional confluences are present. Price must sweep a Sellside Liquidity level, form a valid V shape recovery, and create a bullish IFVG. The setup must also include any two or three of the following: a bullish HTF FVG tap, a multi-sellside liquidity sweep, or the IFVG confirmation forming inside a macro window.
For a confirmed long A++ signal, the indicator marks:
Entry: At the candle close that creates the bullish IFVG
Stop Loss: At the nearest swing low
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing high
Take Profit 2: At the third nearest swing high
In this example, price sweeps two swing lows, has a V shape recovery, taps a bullish 30-minute HTF FVG during the liquidity sweep, and forms a bullish IFVG inside of the 10:50-11:10 macro:
🔹 Short Setup – A++ Rating
A short A++ setup forms when the four core requirements of the IFVG Model occur and at least two additional confluences are present. Price must sweep a Buyside Liquidity level, form a valid V shape recovery, and create a bearish IFVG. The setup must also include any two or three of the following: a bearish HTF FVG tap, a multi-buyside liquidity sweep, or the IFVG confirmation forming inside a macro window.
For a confirmed short A++ signal, the indicator marks:
Entry: At the candle close that creates the bearish IFVG
Stop Loss: At the nearest swing high
Breakeven: Midpoint between entry and stop-loss
Take Profit 1: At the second nearest swing low
Take Profit 2: At the third nearest swing low
In this example, price sweeps a swing high, has a V shape recovery, taps a bearish 30-minute HTF FVG during the liquidity sweep, and forms a bearish IFVG inside of the 09:50-10:10 macro:
🔹Signal Settings
◇ Liquidity Levels Used:
Users can select which type of liquidity levels the indicator uses for identifying liquidity sweeps:
Swing Points: Only uses Swing Highs/Lows
Session Highs/Lows: Only uses Session Highs/Lows
Both: Uses both Swing Highs/Lows and Session Highs/Lows
◇ Bias:
This setting determines which signal directions are allowed.
Manual Bias: Users can manually choose the directional bias, picking between Bullish, Bearish, or Both.
Automatic Bias: The indicator automatically determines a directional bias based on the criteria mentioned in the previous Bias section.
◇ IFVG Sensitivity:
This setting determines the minimum gap size required for an FVG to qualify as an Inversion FVG.
Higher values: only larger FVGs become IFVGs
Lower values: smaller gaps are allowed
◇ Use First Presented IFVG:
This setting determines whether the indicator limits signals to only the first IFVG created within the manipulation leg.
What Is the First Presented IFVG?
It is the earliest FVG formed inside the displacement that causes the liquidity sweep.
For a bearish manipulation leg (price moving downward into the sweep), the first presented IFVG is the first FVG created at the start of that downward move:
For a bullish manipulation leg (price moving upward into the sweep), the first presented IFVG is the first FVG created at the start of that upward move:
When this setting is enabled, the indicator will only confirm signals when the IFVG used is derived from this first presented FVG. IFVGs that form later in the manipulation leg are not used for signal generation.
◇ Only Take Trades:
This setting allows users to restrict signals to a defined time window.
If a complete setup occurs inside the time window, it is allowed and plotted
If it occurs outside the window, the signal will not appear
For example, if you only wanted to see long/short signals between 9:30 AM and 12:00 PM, you would enable this setting and set the time window from 09:30 - 12:00.
◇ Minimum R:R
This setting allows users to require a minimum risk-to-reward ratio before a signal is confirmed and plotted on the chart. The risk-to-reward ratio is calculated using the distance from the Entry to the Stop-Loss (risk) and the distance from the Entry to TP2 (reward). The indicator compares these distances and determines whether the setup meets or exceeds the minimum R:R value selected by the user.
If the calculated R:R is equal to or greater than the chosen threshold, the signal will be displayed.
If the calculated R:R is lower than the threshold, the signal will not appear on the chart.
🔹 Signal Rating Minimum
Users can restrict which signal ratings appear:
A: shows all signals
A+: shows only A+ and A++
A++: shows only A++ setups
🔹 Signal Styling and Customization
The indicator provides full control over how signal labels and levels appear on your chart. Users can customize long signals, short signals, all plotted lines, and the visibility of every individual element.
◇ Long Signal Styling
Users can customize:
Long Signal Label Color
Long Signal Text Color
Long Signal Label Size
◇ Short Signal Styling
Users can customize:
Short Signal Label Color
Short Signal Text Color
Short Signal Label Size
◇ Entry, Stop Loss, Breakeven, and Take Profit Lines
Each line type can be enabled or disabled individually:
Entry Line
Stop Loss Line
Breakeven Line
Take Profit 1 & 2 Lines
Users can also set custom colors for each line so every level is easy to track during live price movement.
◇ Show Price Labels
Price labels can be toggled on or off individually for each level. Users can choose whether to show or hide the price for:
Entry
Stop loss
Breakeven
Take Profit 1 & 2
NEW DAY OPENING GAP:
The New Day Opening Gap (NDOG) highlights the price difference between the previous day’s closing candle and the first candle of the new trading day. The indicator tracks this gap automatically each day and makes it available as optional context for users.
🔹 What Is the New Day Opening Gap?
A New Day Opening Gap forms when the trading day opens at a price different from the previous day’s final closing price.
If the new day opens above the prior day’s close → Bullish NDOG
If the new day opens below the prior day’s close → Bearish NDOG
This gap acts as a short-term draw on liquidity because the market may revisit the gap to rebalance price delivery. While the NDOG is not a required component for IFVG signals.
🔹 How the Indicator Uses the New Day Opening Gap
When enabled, the indicator plots the gap as a rectangular zone spanning from the previous day’s close to the new day’s open. The zone remains active until it is fully filled by price or until the next day’s opening gap forms. Once price trades through the entire gap, or once a new NDOG replaces it the following day, the zone becomes inactive and is removed from the chart. The indicator does not use the NDOG for signal generation. It is strictly a visual tool that helps traders identify areas where price may retrace or seek liquidity during the session.
🔹 Customization Options
Users have full control over how the New Day Opening Gap displays on the chart:
Show New Day Opening Gap: Toggle the NDOG zone on or off
Bullish NDOG Color: Customize the fill color for gaps formed above the prior close
Bearish NDOG Color: Customize the fill color for gaps formed below the prior close
NEW WEEK OPENING GAP:
The New Week Opening Gap (NWOG) highlights the price difference between the previous week’s final closing candle and the first candle of the new trading week. The indicator tracks this gap automatically each week and provides it as optional context for users.
🔹 What Is the New Week Opening Gap?
A New Week Opening Gap forms when the new trading week opens at a price different from the previous week’s closing price.
If the new week opens above the prior week’s close → Bullish NWOG
If the new week opens below the prior week’s close → Bearish NWOG
This gap often serves as a medium-term draw on liquidity because price may return to rebalance the weekly displacement. The NWOG is not a required component for IFVG signals.
🔹 How the Indicator Uses the New Week Opening Gap
When enabled, the indicator plots the gap as a rectangular zone spanning from the previous week’s close to the new week’s open. The zone remains active until it is fully filled by price or until the next week’s opening gap forms. Once price trades through the entire gap, or once a new NWOG replaces it the following week, the zone becomes inactive and is removed from the chart. The indicator does not use the NWOG for signal generation. It is purely a visual reference to help traders identify areas where price may rebalance or seek liquidity during the week.
🔹 Customization Options
Users have full control over how the New Week Opening Gap displays on the chart:
Show New Week Opening Gap: Toggle the NWOG zone on or off
Bullish NWOG Color: Set the fill color for gaps formed above the prior weekly close
Bearish NWOG Color: Set the fill color for gaps formed below the prior weekly close
SMT DIVERGENCES:
The indicator automatically marks SMT Divergences that occur between the current selected chart ticker and a second user-selected ticker.
A SMT Divergence forms when the prices of the currently selected chart ticker and the user-selected ticker don’t follow each other. For example, if the current chart’s ticker symbol is SEED_ALEXDRAYM_SHORTINTEREST2:NQ and the user-selected ticker is $ES. If SEED_ALEXDRAYM_SHORTINTEREST2:NQ does not sweep the low of the NY AM Session, but NYSE:ES sweeps that same exact session’s low during the same candle, then a SMT Divergence is detected.
In the images below, SEED_ALEXDRAYM_SHORTINTEREST2:NQ and NYSE:ES form a low at 12:20 AM on November 12th. At 12:35 AM, the 12:20 AM low is taken out on $NQ. However, on NYSE:ES , price failed to take out this exact low at 12:35 AM. Thus, an SMT Divergence is detected, and a line is drawn between the two lows on $NQ.
NYSE:ES Chart:
SEED_ALEXDRAYM_SHORTINTEREST2:NQ Chart:
🔹 SMT Divergence Settings
The indicator includes settings that allow users to control how SMT Divergences are detected and displayed.
◇ Length
Length controls how sensitive the pivot detection is when finding highs and lows for SMT.
Lower Length: confirms swings with fewer bars, so more swings qualify.
Higher Length: requires more bars to confirm a swing, so fewer swings qualify.
◇ Divergence Length
The Divergence Length setting defines how many bars apart the two swing points may be for them to count as part of the same SMT Divergence.
Higher Values: The two instruments can form their swing highs or lows farther apart in time. As long as both swings occur within this wider bar window, the indicator compares them for divergence.
Lower Values: The two swing points must occur very close to each other.
◇ Show Last
This setting limits how many recent SMT Divergences are displayed on the chart. For example, setting Show Last to 1 will only show the most recent SMT Divergence, while higher values allow more historical SMT Divergences to remain visible on the chart.
◇ Divergence Ticker
Users can change the ticker used for detections. Since SMT Divergences occur by comparing two tickers, the inputted ticker within the settings will always be compared to the current selected ticker on your chart.
DASHBOARD:
The dashboard provides a live summary of all major components of the Inversion Fair Value Gap Model. It updates every candle and displays the current state of each requirement used in the setup logic.
🔹 Real-Time Model Components
The state of each component is displayed with the following:
✔️ = condition is satisfied
❌ = condition is not satisfied
🐂 / 🐻 = current directional bias (bullish or bearish)
The dashboard actively tracks the following:
◇ Bias (🐂 Bullish, 🐻 Bearish, or Both)
Shows the current bias with a bull or bear emoji. If using automatic bias, the dashboard updates as soon as the session logic determines a direction.
◇ Liquidity Sweep
Displays ✔️ once a valid BSL Sweep (for shorts) or SSL Sweep (for longs) is detected.
Shows ❌ when no sweep is present.
◇ V Shape Recovery
Displays ✔️ when a confirmed V shape recovery forms after the sweep.
Shows ❌ until a valid V shape appears.
◇ Inversion Fair Value Gap (IFVG)
Shows ✔️ once a bullish or bearish IFVG forms in the correct direction.
Shows ❌ when no IFVG has yet confirmed.
◇ Higher-Timeframe FVG Interaction
Displays ✔️ when price is currently inside any enabled HTF FVG or taps a HTF FVG during a liquidity sweep.
Displays ❌ when price is not inside a HTF imbalance.
◇ Clear Opposite Draw on Liquidity (DOL)
Shows ✔️ when a clear opposite-side draw is present in the model logic.
Shows ❌ if no clear opposite draw is detected.
◇ SMT Divergence
Shows ✔️ for 20 candles immediately after an SMT Divergence forms.
After 20 candles, it returns to ❌ unless a new SMT Divergence is detected.
🔹 Signal Information Display
When a valid long or short signal appears, the dashboard expands to show the full details of the setup, including:
Signal Rating
Entry Price
Stop-Loss Price
Breakeven Price
Take Profit 1 Price
Take Profit 2 Price
🔹 Trade Statistics Module
Users can enable a built-in statistics panel to view historical performance of signals across all ratings. The trade stats include:
A Signal Win Rate
A+ Signal Win Rate
A++ Signal Win Rate
Long Signal Win Rate
Short Signal Win Rate
Total Number of Trades Used in the Calculations
A trade is counted as a win if price reaches breakeven before stop-loss. A trade is counted as a loss if price hits stop-loss before breakeven.
🔹 Dashboard Customization
The dashboard includes several options to control its appearance and position:
Show Dashboard: Toggle the entire dashboard on or off
Dashboard Size: Choose the size of the dashboard
Dashboard Position: Choose the location of the dashboard on the chart
Trade Stats Text Color: Customize the color of the 2nd column outputs under the Trade Stats section in the dashboard
◇ Component Toggles
Users can enable or disable the display of any model component based on preference. Each of these items can be shown or hidden independently:
Setup Rating
Entry
Stop-Loss
Breakeven
Take Profit 1
Take Profit 2
Bias
Liquidity Sweep
Higher-Timeframe FVG Interaction
V Shape Recovery
Inversion FVG
Clear Opposite Draw on Liquidity
Trade Stats
These toggles only affect visual display. Disabling any of them does not affect the underlying indicator’s logic.
ALERTS:
The Inversion Fair Value Gap Model includes full alert functionality using AnyAlert(), allowing users to receive notifications in real time for all major model components and signal events.
Users can enable or disable each alert type in the “Alerts” section of the settings. After selecting which alerts they want active, they can create a single TradingView alert using the AnyAlert() condition. This will automatically trigger alerts for all enabled events as soon as they occur on the chart.
Available Alerts:
Long Signal
Short Signal
Breakeven Hit (BE)
Take Profit 1 Hit (TP1)
Take Profit 2 Hit (TP2)
Stop-Loss Hit (SL)
Liquidity Sweep Detected
SMT Divergence Detected
How to Receive Alerts:
Open the TradingView alert creation window.
Select the IFVG Model indicator as the alert condition.
Choose AnyAlert() from the condition dropdown.
Create the alert.
IMPORTANT NOTES:
TradingView has limitations when running features on multiple timeframes such as the HTF FVGs, which can result in the following restriction:
Computation Error:
The computation of using MTF features is very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
UNIQUENESS:
This indicator is unique because it organizes every part of the Inversion Fair Value Gap Model into one structured, rules based system. It detects liquidity sweeps, confirms V shape recoveries, identifies valid IFVGs, checks higher timeframe FVG taps, reads macro timing, and applies a session based directional bias. All of these components are evaluated in a fixed sequence so users always know exactly why a signal appears. Every part of the logic is customizable, including which liquidity types are used, which IFVGs qualify for signals, which time windows allow trades, the minimum risk to reward for a setup, and all visual elements on the chart. The tool also includes optional SMT Divergence detection, daily and weekly opening gaps, a live dashboard that shows the state of each model requirement, and optional signal performance statistics.
Search in scripts for "high low"
Bifurcation Zone - CAEBifurcation Zone — Cognitive Adversarial Engine (BZ-CAE)
Bifurcation Zone — CAE (BZ-CAE) is a next-generation divergence detection system enhanced by a Cognitive Adversarial Engine that evaluates both sides of every potential trade before presenting signals. Unlike traditional divergence indicators that show every price-oscillator disagreement regardless of context, BZ-CAE applies comprehensive market-state intelligence to identify only the divergences that occur in favorable conditions with genuine probability edges.
The system identifies structural bifurcation points — critical junctures where price and momentum disagree, signaling potential reversals or continuations — then validates these opportunities through five interconnected intelligence layers: Trend Conviction Scoring , Directional Momentum Alignment , Multi-Factor Exhaustion Modeling , Adversarial Validation , and Confidence Scoring . The result is a selective, context-aware signal system that filters noise and highlights high-probability setups.
This is not a "buy the arrow" indicator. It's a decision support framework that teaches you how to read market state, evaluate divergence quality, and make informed trading decisions based on quantified intelligence rather than hope.
What Sets BZ-CAE Apart: Technical Architecture
The Problem With Traditional Divergence Indicators
Most divergence indicators operate on a simple rule: if price makes a higher high and RSI makes a lower high, show a bearish signal. If price makes a lower low and RSI makes a higher low, show a bullish signal. This creates several critical problems:
Context Blindness : They show counter-trend signals in powerful trends that rarely reverse, leading to repeated losses as you fade momentum.
Signal Spam : Every minor price-oscillator disagreement generates an alert, overwhelming you with low-quality setups and creating analysis paralysis.
No Quality Ranking : All signals are treated identically. A marginal divergence in choppy conditions receives the same visual treatment as a high-conviction setup at a major exhaustion point.
Single-Sided Evaluation : They ask "Is this a good long?" without checking if the short case is overwhelmingly stronger, leading you into obvious bad trades.
Static Configuration : You manually choose RSI 14 or Stochastic 14 and hope it works, with no systematic way to validate if that's optimal for your instrument.
BZ-CAE's Solution: Cognitive Adversarial Intelligence
BZ-CAE solves these problems through an integrated five-layer intelligence architecture:
1. Trend Conviction Score (TCS) — 0 to 1 Scale
Most indicators check if ADX is above 25 to determine "trending" conditions. This binary approach misses nuance. TCS is a weighted composite metric:
Formula : 0.35 × normalize(ADX, 10, 35) + 0.35 × structural_strength + 0.30 × htf_alignment
Structural Strength : 10-bar SMA of consecutive directional bars. Captures persistence — are bulls or bears consistently winning?
HTF Alignment : Multi-timeframe EMA stacking (20/50/100/200). When all EMAs align in the same direction, you're in institutional trend territory.
Purpose : Quantifies how "locked in" the trend is. When TCS exceeds your threshold (default 0.80), the system knows to avoid counter-trend trades unless other factors override.
Interpretation :
TCS > 0.85: Very strong trend — counter-trading is extremely high risk
TCS 0.70-0.85: Strong trend — favor continuation, require exhaustion for reversals
TCS 0.50-0.70: Moderate trend — context matters, both directions viable
TCS < 0.50: Weak/choppy — reversals more viable, range-bound conditions
2. Directional Momentum Alignment (DMA) — ATR-Normalized
Formula : (EMA21 - EMA55) / ATR14
This isn't just "price above EMA" — it's a regime-aware momentum gauge. The same $100 price movement reads completely differently in high-volatility crypto versus low-volatility forex. By normalizing with ATR, DMA adapts its interpretation to current market conditions.
Purpose : Quantifies the directional "force" behind current price action. Positive = bullish push, negative = bearish push. Magnitude = strength.
Interpretation :
DMA > 0.7: Strong bullish momentum — bearish divergences risky
DMA 0.3 to 0.7: Moderate bullish bias
DMA -0.3 to 0.3: Balanced/choppy conditions
DMA -0.7 to -0.3: Moderate bearish bias
DMA < -0.7: Strong bearish momentum — bullish divergences risky
3. Multi-Factor Exhaustion Modeling — 0 to 1 Probability
Single-metric exhaustion detection (like "RSI > 80") misses complex market states. BZ-CAE aggregates five independent exhaustion signals:
Volume Spikes : Current volume versus 50-bar average
2.5x average: 0.25 weight
2.0x average: 0.15 weight
1.5x average: 0.10 weight
Divergence Present : The fact that a divergence exists contributes 0.30 weight — structural momentum disagreement is itself an exhaustion signal.
RSI Extremes : Captures oscillator climax zones
RSI > 80 or < 20: 0.25 weight
RSI > 75 or < 25: 0.15 weight
Pin Bar Detection : Identifies rejection candles (2:1 wick-to-body ratio, indicating failed breakout attempts): 0.15 weight
Extended Runs : Consecutive bars above/below EMA20 without pullback
30+ bars: 0.15 weight (market hasn't paused to consolidate)
Total exhaustion score is the sum of all applicable weights, capped at 1.0.
Purpose : Detects when strong trends become vulnerable to reversal. High exhaustion can override trend filters, allowing counter-trend trades at genuine turning points that basic indicators would miss.
Interpretation :
Exhaustion > 0.75: High probability of climax — yellow background shading alerts you visually
Exhaustion 0.50-0.75: Moderate overextension — watch for confirmation
Exhaustion < 0.50: Fresh move — trend can continue, counter-trend trades higher risk
4. Adversarial Validation — Game Theory Applied to Trading
This is BZ-CAE's signature innovation. Before approving any signal, the engine quantifies BOTH sides of the trade simultaneously:
For Bullish Divergences , it calculates:
Bull Case Score (0-1+) :
Distance below EMA20 (pullback quality): up to 0.25
Bullish EMA alignment (close > EMA20 > EMA50): 0.25
Oversold RSI (< 40): 0.25
Volume confirmation (> 1.2x average): 0.25
Bear Case Score (0-1+) :
Price below EMA50 (structural weakness): 0.30
Very oversold RSI (< 30, indicating knife-catching): 0.20
Differential = Bull Case - Bear Case
If differential < -0.10 (default threshold), the bear case is dominating — signal is BLOCKED or ANNOTATED.
For Bearish Divergences , the logic inverts (Bear Case vs Bull Case).
Purpose : Prevents trades where you're fighting obvious strength in the opposite direction. This is institutional-grade risk management — don't just evaluate your trade, evaluate the counter-trade simultaneously.
Why This Matters : You might see a bullish divergence at a local low, but if price is deeply below major support EMAs with strong bearish momentum, you're catching a falling knife. The adversarial check catches this and blocks the signal.
5. Confidence Scoring — 0 to 1 Quality Assessment
Every signal that passes initial filters receives a comprehensive quality score:
Formula :
0.30 × normalize(TCS) // Trend context
+ 0.25 × normalize(|DMA|) // Momentum magnitude
+ 0.20 × pullback_quality // Entry distance from EMA20
+ 0.15 × state_quality // ADX + alignment + structure
+ 0.10 × divergence_strength // Slope separation magnitude
+ adversarial_bonus (0-0.30) // Your side's advantage
Purpose : Ranks setup quality for filtering and position sizing decisions. You can set a minimum confidence threshold (default 0.35) to ensure only quality setups reach your chart.
Interpretation :
Confidence > 0.70: Premium setup — consider increased position size
Confidence 0.50-0.70: Good quality — standard size
Confidence 0.35-0.50: Acceptable — reduced size or skip if conservative
Confidence < 0.35: Marginal — blocked in Filtering mode, annotated in Advisory mode
CAE Operating Modes: Learning vs Enforcement
Off : Disables all CAE logic. Raw divergence pipeline only. Use for baseline comparison.
Advisory : Shows ALL signals regardless of CAE evaluation, but annotates signals that WOULD be blocked with specific warnings (e.g., "Bull: strong downtrend (TCS=0.87)" or "Adversarial bearish"). This is your learning mode — see CAE's decision logic in action without missing educational opportunities.
Filtering : Actively blocks low-quality signals. Only setups that pass all enabled gates (Trend Filter, Adversarial Validation, Confidence Gating) reach your chart. This is your live trading mode — trust the system to enforce discipline.
CAE Filter Gates: Three-Layer Protection
When CAE is enabled, signals must pass through three independent gates (each can be toggled on/off):
Gate 1: Strong Trend Filter
If TCS ≥ tcs_threshold (default 0.80)
And signal is counter-trend (bullish in downtrend or bearish in uptrend)
And exhaustion < exhaustion_required (default 0.50)
Then: BLOCK signal
Logic: Don't fade strong trends unless the move is clearly overextended
Gate 2: Adversarial Validation
Calculate both bull case and bear case scores
If opposing case dominates by more than adv_threshold (default 0.10)
Then: BLOCK signal
Logic: Avoid trades where you're fighting obvious strength in the opposite direction
Gate 3: Confidence Gating
Calculate composite confidence score (0-1)
If confidence < min_confidence (default 0.35)
Then: In Filtering mode, BLOCK signal; in Advisory mode, ANNOTATE with warning
Logic: Only take setups with minimum quality threshold
All three gates work together. A signal must pass ALL enabled gates to fire.
Visual Intelligence System
Bifurcation Zones (Supply/Demand Blocks)
When a divergence signal fires, BZ-CAE draws a semi-transparent box extending 15 bars forward from the signal pivot:
Demand Zones (Bullish) : Theme-colored box (cyan in Cyberpunk, blue in Professional, etc.) labeled "Demand" — marks where smart money likely placed buy orders as price diverged at the low.
Supply Zones (Bearish) : Theme-colored box (magenta in Cyberpunk, orange in Professional) labeled "Supply" — marks where smart money likely placed sell orders as price diverged at the high.
Theory : Divergences represent institutional disagreement with the crowd. The crowd pushed price to an extreme (new high or low), but momentum (oscillator) is waning, indicating smart money is taking the opposite side. These zones mark order placement areas that become future support/resistance.
Use Cases :
Exit targets: Take profit when price returns to opposite-side zone
Re-entry levels: If price returns to your entry zone, consider adding
Stop placement: Place stops just beyond your zone (below demand, above supply)
Auto-Cleanup : System keeps the last 20 zones to prevent chart clutter.
Adversarial Bar Coloring — Real-Time Market Debate Heatmap
Each bar is colored based on the Bull Case vs Bear Case differential:
Strong Bull Advantage (diff > 0.3): Full theme bull color (e.g., cyan)
Moderate Bull Advantage (diff > 0.1): 50% transparency bull
Neutral (diff -0.1 to 0.1): Gray/neutral theme
Moderate Bear Advantage (diff < -0.1): 50% transparency bear
Strong Bear Advantage (diff < -0.3): Full theme bear color (e.g., magenta)
This creates a real-time visual heatmap showing which side is "winning" the market debate. When bars flip from cyan to magenta (or vice versa), you're witnessing a shift in adversarial advantage — a leading indicator of potential momentum changes.
Exhaustion Shading
When exhaustion score exceeds 0.75, the chart background displays a semi-transparent yellow highlight. This immediate visual warning alerts you that the current move is at high risk of reversal, even if trend indicators remain strong.
Visual Themes — Six Aesthetic Options
Cyberpunk : Cyan/Magenta/Yellow — High contrast, neon aesthetic, excellent for dark-themed trading environments
Professional : Blue/Orange/Green — Corporate color palette, suitable for presentations and professional documentation
Ocean : Teal/Red/Cyan — Aquatic palette, calming for extended monitoring sessions
Fire : Orange/Red/Coral — Warm aggressive colors, high energy
Matrix : Green/Red/Lime — Code aesthetic, homage to classic hacker visuals
Monochrome : White/Gray — Minimal distraction, maximum focus on price action
All visual elements (signal markers, zones, bar colors, dashboard) adapt to your selected theme.
Divergence Engine — Core Detection System
What Are Divergences?
Divergences occur when price action and momentum indicators disagree, creating structural tension that often resolves in a change of direction:
Regular Divergence (Reversal Signal) :
Bearish Regular : Price makes higher high, oscillator makes lower high → Potential trend reversal down
Bullish Regular : Price makes lower low, oscillator makes higher low → Potential trend reversal up
Hidden Divergence (Continuation Signal) :
Bearish Hidden : Price makes lower high, oscillator makes higher high → Downtrend continuation
Bullish Hidden : Price makes higher low, oscillator makes lower low → Uptrend continuation
Both types can be enabled/disabled independently in settings.
Pivot Detection Methods
BZ-CAE uses symmetric pivot detection with separate lookback and lookforward periods (default 5/5):
Pivot High : Bar where high > all highs within lookback range AND high > all highs within lookforward range
Pivot Low : Bar where low < all lows within lookback range AND low < all lows within lookforward range
This ensures structural validity — the pivot must be a clear local extreme, not just a minor wiggle.
Divergence Validation Requirements
For a divergence to be confirmed, it must satisfy:
Slope Disagreement : Price slope and oscillator slope must move in opposite directions (for regular divs) or same direction with inverted highs/lows (for hidden divs)
Minimum Slope Change : |osc_slope| > min_slope_change / 100 (default 1.0) — filters weak, marginal divergences
Maximum Lookback Range : Pivots must be within max_lookback bars (default 60) — prevents ancient, irrelevant divergences
ATR-Normalized Strength : Divergence strength = min(|price_slope| × |osc_slope| × 10, 1.0) — quantifies the magnitude of disagreement in volatility context
Regular divergences receive 1.0× weight; hidden divergences receive 0.8× weight (slightly less reliable historically).
Oscillator Options — Five Professional Indicators
RSI (Relative Strength Index) : Classic overbought/oversold momentum indicator. Best for: General purpose divergence detection across all instruments.
Stochastic : Range-bound %K momentum comparing close to high-low range. Best for: Mean reversion strategies and range-bound markets.
CCI (Commodity Channel Index) : Measures deviation from statistical mean, auto-normalized to 0-100 scale. Best for: Cyclical instruments and commodities.
MFI (Money Flow Index) : Volume-weighted RSI incorporating money flow. Best for: Volume-driven markets like stocks and crypto.
Williams %R : Inverse stochastic looking back over period, auto-adjusted to 0-100. Best for: Reversal detection at extremes.
Each oscillator has adjustable length (2-200, default 14) and smoothing (1-20, default 1). You also set overbought (50-100, default 70) and oversold (0-50, default 30) thresholds.
Signal Timing Modes — Understanding Repainting
BZ-CAE offers two timing policies with complete transparency about repainting behavior:
Realtime (1-bar, peak-anchored)
How It Works :
Detects peaks 1 bar ago using pattern: high > high AND high > high
Signal prints on the NEXT bar after peak detection (bar_index)
Visual marker anchors to the actual PEAK bar (bar_index - 1, offset -1)
Signal locks in when bar CONFIRMS (closes)
Repainting Behavior :
On the FORMING bar (before close), the peak condition may change as new prices arrive
Once bar CLOSES (barstate.isconfirmed), signal is locked permanently
This is preview/early warning behavior by design
Best For :
Active monitoring and immediate alerts
Learning the system (seeing signals develop in real-time)
Responsive entry if you're watching the chart live
Confirmed (lookforward)
How It Works :
Uses Pine Script's built-in ta.pivothigh() and ta.pivotlow() functions
Requires full pivot validation period (lookback + lookforward bars)
Signal prints pivot_lookforward bars after the actual peak (default 5-bar delay)
Visual marker anchors to the actual peak bar (offset -pivot_lookforward)
No Repainting Behavior
Best For :
Backtesting and historical analysis
Conservative entries requiring full confirmation
Automated trading systems
Swing trading with larger timeframes
Tradeoff :
Delayed entry by pivot_lookforward bars (typically 5 bars)
On a 5-minute chart, this is a 25-minute delay
On a 4-hour chart, this is a 20-hour delay
Recommendation : Use Confirmed for backtesting to verify system performance honestly. Use Realtime for live monitoring only if you're actively watching the chart and understand pre-confirmation repainting behavior.
Signal Spacing System — Anti-Spam Architecture
Even after CAE filtering, raw divergences can cluster. The spacing system enforces separation:
Three Independent Filters
1. Min Bars Between ANY Signals (default 12):
Prevents rapid-fire clustering across both directions
If last signal (bull or bear) was within N bars, block new signal
Ensures breathing room between all setups
2. Min Bars Between SAME-SIDE Signals (default 24, optional enforcement):
Prevents bull-bull or bear-bear spam
Separate tracking for bullish and bearish signal timelines
Toggle enforcement on/off
3. Min ATR Distance From Last Signal (default 0, optional):
Requires price to move N × ATR from last signal location
Ensures meaningful price movement between setups
0 = disabled, 0.5-2.0 = typical range for enabled
All three filters work independently. A signal must pass ALL enabled filters to proceed.
Practical Guidance :
Scalping (1-5m) : Any 6-10, Same-side 12-20, ATR 0-0.5
Day Trading (15m-1H) : Any 12, Same-side 24, ATR 0-1.0
Swing Trading (4H-D) : Any 20-30, Same-side 40-60, ATR 1.0-2.0
Dashboard — Real-Time Control Center
The dashboard (toggleable, four corner positions, three sizes) provides comprehensive system intelligence:
Oscillator Section
Current oscillator type and value
State: OVERBOUGHT / OVERSOLD / NEUTRAL (color-coded)
Length parameter
Cognitive Engine Section
TCS (Trend Conviction Score) :
Current value with emoji state indicator
🔥 = Strong trend (>0.75)
📊 = Moderate trend (0.50-0.75)
〰️ = Weak/choppy (<0.50)
Color: Red if above threshold (trend filter active), yellow if moderate, green if weak
DMA (Directional Momentum Alignment) :
Current value with emoji direction indicator
🐂 = Bullish momentum (>0.5)
⚖️ = Balanced (-0.5 to 0.5)
🐻 = Bearish momentum (<-0.5)
Color: Green if bullish, red if bearish
Exhaustion :
Current value with emoji warning indicator
⚠️ = High exhaustion (>0.75)
🟡 = Moderate (0.50-0.75)
✓ = Low (<0.50)
Color: Red if high, yellow if moderate, green if low
Pullback :
Quality of current distance from EMA20
Values >0.6 are ideal entry zones (not too close, not too far)
Bull Case / Bear Case (if Adversarial enabled):
Current scores for both sides of the market debate
Differential with emoji indicator:
📈 = Bull advantage (>0.2)
➡️ = Balanced (-0.2 to 0.2)
📉 = Bear advantage (<-0.2)
Last Signal Metrics Section (New Feature)
When a signal fires, this section captures and displays:
Signal type (BULL or BEAR)
Bars elapsed since signal
Confidence % at time of signal
TCS value at signal time
DMA value at signal time
Purpose : Provides a historical reference for learning. You can see what the market state looked like when the last signal fired, helping you correlate outcomes with conditions.
Statistics Section
Total Signals : Lifetime count across session
Blocked Signals : Count and percentage (filter effectiveness metric)
Bull Signals : Total bullish divergences
Bear Signals : Total bearish divergences
Purpose : System health monitoring. If blocked % is very high (>60%), filters may be too strict. If very low (<10%), filters may be too loose.
Advisory Annotations
When CAE Mode = Advisory, this section displays warnings for signals that would be blocked in Filtering mode:
Examples:
"Bull spacing: wait 8 bars"
"Bear: strong uptrend (TCS=0.87)"
"Adversarial bearish"
"Low confidence 32%"
Multiple warnings can stack, separated by " | ". This teaches you CAE's decision logic transparently.
How to Use BZ-CAE — Complete Workflow
Phase 1: Initial Setup (First Session)
Apply BZ-CAE to your chart
Select your preferred Visual Theme (Cyberpunk recommended for visibility)
Set Signal Timing to "Confirmed (lookforward)" for learning
Choose your Oscillator Type (RSI recommended for general use, length 14)
Set Overbought/Oversold to 70/30 (standard)
Enable both Regular Divergence and Hidden Divergence
Set Pivot Lookback/Lookforward to 5/5 (balanced structure)
Enable CAE Intelligence
Set CAE Mode to "Advisory" (learning mode)
Enable all three CAE filters: Strong Trend Filter , Adversarial Validation , Confidence Gating
Enable Show Dashboard , position Top Right, size Normal
Enable Draw Bifurcation Zones and Adversarial Bar Coloring
Phase 2: Learning Period (Weeks 1-2)
Goal : Understand how CAE evaluates market state and filters signals.
Activities :
Watch the dashboard during signals :
Note TCS values when counter-trend signals fail — this teaches you the trend strength threshold for your instrument
Observe exhaustion patterns at actual turning points — learn when overextension truly matters
Study adversarial differential at signal times — see when opposing cases dominate
Review blocked signals (orange X-crosses):
In Advisory mode, you see everything — signals that would pass AND signals that would be blocked
Check the advisory annotations to understand why CAE would block
Track outcomes: Were the blocks correct? Did those signals fail?
Use Last Signal Metrics :
After each signal, check the dashboard capture of confidence, TCS, and DMA
Journal these values alongside trade outcomes
Identify patterns: Do confidence >0.70 signals work better? Does your instrument respect TCS >0.85?
Understand your instrument's "personality" :
Trending instruments (indices, major forex) may need TCS threshold 0.85-0.90
Choppy instruments (low-cap stocks, exotic pairs) may work best with TCS 0.70-0.75
High-volatility instruments (crypto) may need wider spacing
Low-volatility instruments may need tighter spacing
Phase 3: Calibration (Weeks 3-4)
Goal : Optimize settings for your specific instrument, timeframe, and style.
Calibration Checklist :
Min Confidence Threshold :
Review confidence distribution in your signal journal
Identify the confidence level below which signals consistently fail
Set min_confidence slightly above that level
Day trading : 0.35-0.45
Swing trading : 0.40-0.55
Scalping : 0.30-0.40
TCS Threshold :
Find the TCS level where counter-trend signals consistently get stopped out
Set tcs_threshold at or slightly below that level
Trending instruments : 0.85-0.90
Mixed instruments : 0.80-0.85
Choppy instruments : 0.75-0.80
Exhaustion Override Level :
Identify exhaustion readings that marked genuine reversals
Set exhaustion_required just below the average
Typical range : 0.45-0.55
Adversarial Threshold :
Default 0.10 works for most instruments
If you find CAE is too conservative (blocking good trades), raise to 0.15-0.20
If signals are still getting caught in opposing momentum, lower to 0.07-0.09
Spacing Parameters :
Count bars between quality signals in your journal
Set min bars ANY to ~60% of that average
Set min bars SAME-SIDE to ~120% of that average
Scalping : Any 6-10, Same 12-20
Day trading : Any 12, Same 24
Swing : Any 20-30, Same 40-60
Oscillator Selection :
Try different oscillators for 1-2 weeks each
Track win rate and average winner/loser by oscillator type
RSI : Best for general use, clear OB/OS
Stochastic : Best for range-bound, mean reversion
MFI : Best for volume-driven markets
CCI : Best for cyclical instruments
Williams %R : Best for reversal detection
Phase 4: Live Deployment
Goal : Disciplined execution with proven, calibrated system.
Settings Changes :
Switch CAE Mode from Advisory to Filtering
System now actively blocks low-quality signals
Only setups passing all gates reach your chart
Keep Signal Timing on Confirmed for conservative entries
OR switch to Realtime if you're actively monitoring and want faster entries (accept pre-confirmation repaint risk)
Use your calibrated thresholds from Phase 3
Enable high-confidence alerts: "⭐ High Confidence Bullish/Bearish" (>0.70)
Trading Discipline Rules :
Respect Blocked Signals :
If CAE blocks a trade you wanted to take, TRUST THE SYSTEM
Don't manually override — if you consistently disagree, return to Phase 2/3 calibration
The block exists because market state failed intelligence checks
Confidence-Based Position Sizing :
Confidence >0.70: Standard or increased size (e.g., 1.5-2.0% risk)
Confidence 0.50-0.70: Standard size (e.g., 1.0% risk)
Confidence 0.35-0.50: Reduced size (e.g., 0.5% risk) or skip if conservative
TCS-Based Management :
High TCS + counter-trend signal: Use tight stops, quick exits (you're fading momentum)
Low TCS + reversal signal: Use wider stops, trail aggressively (genuine reversal potential)
Exhaustion Awareness :
Exhaustion >0.75 (yellow shading): Market is overextended, reversal risk is elevated — consider early exit or tighter trailing stops even on winning trades
Exhaustion <0.30: Continuation bias — hold for larger move, wide trailing stops
Adversarial Context :
Strong differential against you (e.g., bullish signal with bear diff <-0.2): Use very tight stops, consider skipping
Strong differential with you (e.g., bullish signal with bull diff >0.2): Trail aggressively, this is your tailwind
Practical Settings by Timeframe & Style
Scalping (1-5 Minute Charts)
Objective : High frequency, tight stops, quick reversals in fast-moving markets.
Oscillator :
Type: RSI or Stochastic (fast response to quick moves)
Length: 9-11 (more responsive than standard 14)
Smoothing: 1 (no lag)
OB/OS: 65/35 (looser thresholds ensure frequent crossings in fast conditions)
Divergence :
Pivot Lookback/Lookforward: 3/3 (tight structure, catch small swings)
Max Lookback: 40-50 bars (recent structure only)
Min Slope Change: 0.8-1.0 (don't be overly strict)
CAE :
Mode: Advisory first (learn), then Filtering
Min Confidence: 0.30-0.35 (lower bar for speed, accept more signals)
TCS Threshold: 0.70-0.75 (allow more counter-trend opportunities)
Exhaustion Required: 0.45-0.50 (moderate override)
Strong Trend Filter: ON (still respect major intraday trends)
Adversarial: ON (critical for scalping protection — catches bad entries quickly)
Spacing :
Min Bars ANY: 6-10 (fast pace, many setups)
Min Bars SAME-SIDE: 12-20 (prevent clustering)
Min ATR Distance: 0 or 0.5 (loose)
Timing : Realtime (speed over precision, but understand repaint risk)
Visuals :
Signal Size: Tiny (chart clarity in busy conditions)
Show Zones: Optional (can clutter on low timeframes)
Bar Coloring: ON (helps read momentum shifts quickly)
Dashboard: Small size (corner reference, not main focus)
Key Consideration : Scalping generates noise. Even with CAE, expect lower win rate (45-55%) but aim for favorable R:R (2:1 or better). Size conservatively.
Day Trading (15-Minute to 1-Hour Charts)
Objective : Balance quality and frequency. Standard divergence trading approach.
Oscillator :
Type: RSI or MFI (proven reliability, volume confirmation with MFI)
Length: 14 (industry standard, well-studied)
Smoothing: 1-2
OB/OS: 70/30 (classic levels)
Divergence :
Pivot Lookback/Lookforward: 5/5 (balanced structure)
Max Lookback: 60 bars
Min Slope Change: 1.0 (standard strictness)
CAE :
Mode: Filtering (enforce discipline from the start after brief Advisory learning)
Min Confidence: 0.35-0.45 (quality filter without being too restrictive)
TCS Threshold: 0.80-0.85 (respect strong trends)
Exhaustion Required: 0.50 (balanced override threshold)
Strong Trend Filter: ON
Adversarial: ON
Confidence Gating: ON (all three filters active)
Spacing :
Min Bars ANY: 12 (breathing room between all setups)
Min Bars SAME-SIDE: 24 (prevent bull/bear clusters)
Min ATR Distance: 0-1.0 (optional refinement, typically 0.5-1.0)
Timing : Confirmed (1-bar delay for reliability, no repainting)
Visuals :
Signal Size: Tiny or Small
Show Zones: ON (useful reference for exits/re-entries)
Bar Coloring: ON (context awareness)
Dashboard: Normal size (full visibility)
Key Consideration : This is the "sweet spot" timeframe for BZ-CAE. Market structure is clear, CAE has sufficient data, and signal frequency is manageable. Expect 55-65% win rate with proper execution.
Swing Trading (4-Hour to Daily Charts)
Objective : Quality over quantity. High conviction only. Larger stops and targets.
Oscillator :
Type: RSI or CCI (robust on higher timeframes, smooth longer waves)
Length: 14-21 (capture larger momentum swings)
Smoothing: 1-3
OB/OS: 70/30 or 75/25 (strict extremes)
Divergence :
Pivot Lookback/Lookforward: 5/5 or 7/7 (structural purity, major swings only)
Max Lookback: 80-100 bars (broader historical context)
Min Slope Change: 1.2-1.5 (require strong, undeniable divergence)
CAE :
Mode: Filtering (strict enforcement, premium setups only)
Min Confidence: 0.40-0.55 (high bar for entry)
TCS Threshold: 0.85-0.95 (very strong trend protection — don't fade established HTF trends)
Exhaustion Required: 0.50-0.60 (higher bar for override — only extreme exhaustion justifies counter-trend)
Strong Trend Filter: ON (critical on HTF)
Adversarial: ON (avoid obvious bad trades)
Confidence Gating: ON (quality gate essential)
Spacing :
Min Bars ANY: 20-30 (substantial separation)
Min Bars SAME-SIDE: 40-60 (significant breathing room)
Min ATR Distance: 1.0-2.0 (require meaningful price movement)
Timing : Confirmed (purity over speed, zero repaint for swing accuracy)
Visuals :
Signal Size: Small or Normal (clear markers on zoomed-out view)
Show Zones: ON (important HTF levels)
Bar Coloring: ON (long-term trend awareness)
Dashboard: Normal or Large (comprehensive analysis)
Key Consideration : Swing signals are rare but powerful. Expect 2-5 signals per month per instrument. Win rate should be 60-70%+ due to stringent filtering. Position size can be larger given confidence.
Dashboard Interpretation Reference
TCS (Trend Conviction Score) States
0.00-0.50: Weak/Choppy
Emoji: 〰️
Color: Green/cyan
Meaning: No established trend. Range-bound or consolidating. Both reversal and continuation signals viable.
Action: Reversals (regular divs) are safer. Use wider profit targets (market has room to move). Consider mean reversion strategies.
0.50-0.75: Moderate Trend
Emoji: 📊
Color: Yellow/neutral
Meaning: Developing trend but not locked in. Context matters significantly.
Action: Check DMA and exhaustion. If DMA confirms trend and exhaustion is low, favor continuation (hidden divs). If exhaustion is high, reversals are viable.
0.75-0.85: Strong Trend
Emoji: 🔥
Color: Orange/warning
Meaning: Well-established trend with persistence. Counter-trend is high risk.
Action: Require exhaustion >0.50 for counter-trend entries. Favor continuation signals. Use tight stops on counter-trend attempts.
0.85-1.00: Very Strong Trend
Emoji: 🔥🔥
Color: Red/danger (if counter-trading)
Meaning: Locked-in institutional trend. Extremely high risk to fade.
Action: Avoid counter-trend unless exhaustion >0.75 (yellow shading). Focus exclusively on continuation opportunities. Momentum is king here.
DMA (Directional Momentum Alignment) Zones
-2.0 to -1.0: Strong Bearish Momentum
Emoji: 🐻🐻
Color: Dark red
Meaning: Powerful downside force. Sellers are in control.
Action: Bullish divergences are counter-momentum (high risk). Bearish divergences are with-momentum (lower risk). Size down on longs.
-0.5 to 0.5: Neutral/Balanced
Emoji: ⚖️
Color: Gray/neutral
Meaning: No strong directional bias. Choppy or consolidating.
Action: Both directions have similar probability. Focus on confidence score and adversarial differential for edge.
1.0 to 2.0: Strong Bullish Momentum
Emoji: 🐂🐂
Color: Bright green/cyan
Meaning: Powerful upside force. Buyers are in control.
Action: Bearish divergences are counter-momentum (high risk). Bullish divergences are with-momentum (lower risk). Size down on shorts.
Exhaustion States
0.00-0.50: Fresh Move
Emoji: ✓
Color: Green
Meaning: Trend is healthy, not overextended. Room to run.
Action: Counter-trend trades are premature. Favor continuation. Hold winners for larger moves. Avoid early exits.
0.50-0.75: Mature Move
Emoji: 🟡
Color: Yellow
Meaning: Move is aging. Watch for signs of climax.
Action: Tighten trailing stops on winning trades. Be ready for reversals. Don't add to positions aggressively.
0.75-0.85: High Exhaustion
Emoji: ⚠️
Color: Orange
Background: Yellow shading appears
Meaning: Move is overextended. Reversal risk elevated significantly.
Action: Counter-trend reversals are higher probability. Consider early exits on with-trend positions. Size up on reversal divergences (if CAE allows).
0.85-1.00: Critical Exhaustion
Emoji: ⚠️⚠️
Color: Red
Background: Yellow shading intensifies
Meaning: Climax conditions. Reversal imminent or underway.
Action: Aggressive reversal trades justified. Exit all with-trend positions. This is where major turns occur.
Confidence Score Tiers
0.00-0.30: Low Quality
Color: Red
Status: Blocked in Filtering mode
Action: Skip entirely. Setup lacks fundamental quality across multiple factors.
0.30-0.50: Moderate Quality
Color: Yellow/orange
Status: Marginal — passes in Filtering only if >min_confidence
Action: Reduced position size (0.5-0.75% risk). Tight stops. Conservative profit targets. Skip if you're selective.
0.50-0.70: High Quality
Color: Green/cyan
Status: Good setup across most quality factors
Action: Standard position size (1.0-1.5% risk). Normal stops and targets. This is your bread-and-butter trade.
0.70-1.00: Premium Quality
Color: Bright green/gold
Status: Exceptional setup — all factors aligned
Visual: Double confidence ring appears
Action: Consider increased position size (1.5-2.0% risk, maximum). Wider stops. Larger targets. High probability of success. These are rare — capitalize when they appear.
Adversarial Differential Interpretation
Bull Differential > 0.3 :
Visual: Strong cyan/green bar colors
Meaning: Bull case strongly dominates. Buyers have clear advantage.
Action: Bullish divergences favored (with-advantage). Bearish divergences face headwind (reduce size or skip). Momentum is bullish.
Bull Differential 0.1 to 0.3 :
Visual: Moderate cyan/green transparency
Meaning: Moderate bull advantage. Buyers have edge but not overwhelming.
Action: Both directions viable. Slight bias toward longs.
Differential -0.1 to 0.1 :
Visual: Gray/neutral bars
Meaning: Balanced debate. No clear advantage either side.
Action: Rely on other factors (confidence, TCS, exhaustion) for direction. Adversarial is neutral.
Bear Differential -0.3 to -0.1 :
Visual: Moderate red/magenta transparency
Meaning: Moderate bear advantage. Sellers have edge but not overwhelming.
Action: Both directions viable. Slight bias toward shorts.
Bear Differential < -0.3 :
Visual: Strong red/magenta bar colors
Meaning: Bear case strongly dominates. Sellers have clear advantage.
Action: Bearish divergences favored (with-advantage). Bullish divergences face headwind (reduce size or skip). Momentum is bearish.
Last Signal Metrics — Post-Trade Analysis
After a signal fires, dashboard captures:
Type : BULL or BEAR
Bars Ago : How long since signal (updates every bar)
Confidence : What was the quality score at signal time
TCS : What was trend conviction at signal time
DMA : What was momentum alignment at signal time
Use Case : Post-trade journaling and learning.
Example: "BULL signal 12 bars ago. Confidence: 68%, TCS: 0.42, DMA: -0.85"
Analysis : This was a bullish reversal (regular div) with good confidence, weak trend (TCS), but strong bearish momentum (DMA). The bet was that momentum would reverse — a counter-momentum play requiring exhaustion confirmation. Check if exhaustion was high at that time to justify the entry.
Track patterns:
Do your best trades have confidence >0.65?
Do low-TCS signals (<0.50) work better for you?
Are you more successful with-momentum (DMA aligned with signal) or counter-momentum?
Troubleshooting Guide
Problem: No Signals Appearing
Symptoms : Chart loads, dashboard shows metrics, but no divergence signals fire.
Diagnosis Checklist :
Check dashboard oscillator value : Is it crossing OB/OS levels (70/30)? If oscillator stays in 40-60 range constantly, it can't reach extremes needed for divergence detection.
Are pivots forming? : Look for local swing highs/lows on your chart. If price is in tight consolidation, pivots may not meet lookback/lookforward requirements.
Is spacing too tight? : Check "Last Signal" metrics — how many bars since last signal? If <12 and your min_bars_ANY is 12, spacing filter is blocking.
Is CAE blocking everything? : Check dashboard Statistics section — what's the blocked signal count? High blocks indicate overly strict filters.
Solutions :
Loosen OB/OS Temporarily :
Try 65/35 to verify divergence detection works
If signals appear, the issue was threshold strictness
Gradually tighten back to 67/33, then 70/30 as appropriate
Lower Min Confidence :
Try 0.25-0.30 (diagnostic level)
If signals appear, filter was too strict
Raise gradually to find sweet spot (0.35-0.45 typical)
Disable Strong Trend Filter Temporarily :
Turn off in CAE settings
If signals appear, TCS threshold was blocking everything
Re-enable and lower TCS_threshold to 0.70-0.75
Reduce Min Slope Change :
Try 0.7-0.8 (from default 1.0)
Allows weaker divergences through
Helpful on low-volatility instruments
Widen Spacing :
Set min_bars_ANY to 6-8
Set min_bars_SAME_SIDE to 12-16
Reduces time between allowed signals
Check Timing Mode :
If using Confirmed, remember there's a pivot_lookforward delay (5+ bars)
Switch to Realtime temporarily to verify system is working
Realtime has no delay but repaints
Verify Oscillator Settings :
Length 14 is standard but might not fit all instruments
Try length 9-11 for faster response
Try length 18-21 for slower, smoother response
Problem: Too Many Signals (Signal Spam)
Symptoms : Dashboard shows 50+ signals in Statistics, confidence scores mostly <0.40, signals clustering close together.
Solutions :
Raise Min Confidence :
Try 0.40-0.50 (quality filter)
Blocks bottom-tier setups
Targets top 50-60% of divergences only
Tighten OB/OS :
Use 70/30 or 75/25
Requires more extreme oscillator readings
Reduces false divergences in mid-range
Increase Min Slope Change :
Try 1.2-1.5 (from default 1.0)
Requires stronger, more obvious divergences
Filters marginal slope disagreements
Raise TCS Threshold :
Try 0.85-0.90 (from default 0.80)
Stricter trend filter blocks more counter-trend attempts
Favors only strongest trend alignment
Enable ALL CAE Gates :
Turn on Trend Filter + Adversarial + Confidence
Triple-layer protection
Blocks aggressively — expect 20-40% reduction in signals
Widen Spacing :
min_bars_ANY: 15-20 (from 12)
min_bars_SAME_SIDE: 30-40 (from 24)
Creates substantial breathing room
Switch to Confirmed Timing :
Removes realtime preview noise
Ensures full pivot validation
5-bar delay filters many false starts
Problem: Signals in Strong Trends Get Stopped Out
Symptoms : You take a bullish divergence in a downtrend (or bearish in uptrend), and it immediately fails. Dashboard showed high TCS at the time.
Analysis : This is INTENDED behavior — CAE is protecting you from low-probability counter-trend trades.
Understanding :
Check Last Signal Metrics in dashboard — what was TCS when signal fired?
If TCS was >0.85 and signal was counter-trend, CAE correctly identified it as high risk
Strong trends rarely reverse cleanly without major exhaustion
Your losses here are the system working as designed (blocking bad odds)
If You Want to Override (Not Recommended) :
Lower TCS_threshold to 0.70-0.75 (allows more counter-trend)
Lower exhaustion_required to 0.40 (easier override)
Disable Strong Trend Filter entirely (very risky)
Better Approach :
TRUST THE FILTER — it's preventing costly mistakes
Wait for exhaustion >0.75 (yellow shading) before counter-trending strong TCS
Focus on continuation signals (hidden divs) in high-TCS environments
Use Advisory mode to see what CAE is blocking and learn from outcomes
Problem: Adversarial Blocking Seems Wrong
Symptoms : You see a divergence that "looks good" visually, but CAE blocks with "Adversarial bearish/bullish" warning.
Diagnosis :
Check dashboard Bull Case and Bear Case scores at that moment
Look at Differential value
Check adversarial bar colors — was there strong coloring against your intended direction?
Understanding :
Adversarial catches "obvious" opposing momentum that's easy to miss
Example: Bullish divergence at a local low, BUT price is deeply below EMA50, bearish momentum is strong, and RSI shows knife-catching conditions
Bull Case might be 0.20 while Bear Case is 0.55
Differential = -0.35, far beyond threshold
Block is CORRECT — you'd be fighting overwhelming opposing flow
If You Disagree Consistently
Review blocked signals on chart — scroll back and check outcomes
Did those blocked signals actually work, or did they fail as adversarial predicted?
Raise adv_threshold to 0.15-0.20 (more permissive, allows closer battles)
Disable Adversarial Validation temporarily (diagnostic) to isolate its effect
Use Advisory mode to learn adversarial patterns over 50-100 signals
Remember : Adversarial is conservative BY DESIGN. It prevents "obvious" bad trades where you're fighting strong strength the other way.
Problem: Dashboard Not Showing or Incomplete
Solutions :
Toggle "Show Dashboard" to ON in settings
Try different dashboard sizes (Small/Normal/Large)
Try different positions (Top Left/Right, Bottom Left/Right) — might be off-screen
Some sections require CAE Enable = ON (Cognitive Engine section won't appear if CAE is disabled)
Statistics section requires at least 1 lifetime signal to populate
Check that visual theme is set (dashboard colors adapt to theme)
Problem: Performance Lag, Chart Freezing
Symptoms : Chart loading is slow, indicator calculations cause delays, pinch-to-zoom lags.
Diagnosis : Visual features are computationally expensive, especially adversarial bar coloring (recalculates every bar).
Solutions (In Order of Impact) :
Disable Adversarial Bar Coloring (MOST EXPENSIVE):
Turn OFF "Adversarial Bar Coloring" in settings
This is the single biggest performance drain
Immediate improvement
Reduce Vertical Lines :
Lower "Keep last N vertical lines" to 20-30
Or set to 0 to disable entirely
Moderate improvement
Disable Bifurcation Zones :
Turn OFF "Draw Bifurcation Zones"
Reduces box drawing calculations
Moderate improvement
Set Dashboard Size to Small :
Smaller dashboard = fewer cells = less rendering
Minor improvement
Use Shorter Max Lookback :
Reduce max_lookback to 40-50 (from 60+)
Fewer bars to scan for divergences
Minor improvement
Disable Exhaustion Shading :
Turn OFF "Show Market State"
Removes background coloring calculations
Minor improvement
Extreme Performance Mode :
Disable ALL visual enhancements
Keep only triangle markers
Dashboard Small or OFF
Use Minimal theme if available
Problem: Realtime Signals Repainting
Symptoms : You see a signal appear, but on next bar it disappears or moves.
Explanation :
Realtime mode detects peaks 1 bar ago: high > high AND high > high
On the FORMING bar (before close), this condition can change as new prices arrive
Example: At 10:05, high (10:04 bar) was 100, current high is 99 → peak detected
At 10:05:30, new high of 101 arrives → peak condition breaks → signal disappears
At 10:06 (bar close), final high is 101 → no peak at 10:04 anymore → signal gone permanently
This is expected behavior for realtime responsiveness. You get preview/early warning, but it's not locked until bar confirms.
Solutions :
Use Confirmed Timing :
Switch to "Confirmed (lookforward)" mode
ZERO repainting — pivot must be fully validated
5-bar delay (pivot_lookforward)
What you see in history is exactly what would have appeared live
Accept Realtime Repaint as Tradeoff :
Keep Realtime mode for speed and alerts
Understand that pre-confirmation signals may vanish
Only trade signals that CONFIRM at bar close (check barstate.isconfirmed)
Use for live monitoring, NOT for backtesting
Trade Only After Confirmation :
In Realtime mode, wait 1 full bar after signal appears before entering
If signal survives that bar close, it's locked
This adds 1-bar delay but removes repaint risk
Recommendation : Use Confirmed for backtesting and conservative trading. Use Realtime only for active monitoring with full understanding of preview behavior.
Risk Management Integration
BZ-CAE is a signal generation system, not a complete trading strategy. You must integrate proper risk management:
Position Sizing by Confidence
Confidence 0.70-1.00 (Premium) :
Risk: 1.5-2.0% of account (MAXIMUM)
Reasoning: High-quality setup across all factors
Still cap at 2% — even premium setups can fail
Confidence 0.50-0.70 (High Quality) :
Risk: 1.0-1.5% of account
Reasoning: Standard good setup
Your bread-and-butter risk level
Confidence 0.35-0.50 (Moderate Quality) :
Risk: 0.5-1.0% of account
Reasoning: Marginal setup, passes minimum threshold
Reduce size or skip if you're selective
Confidence <0.35 (Low Quality) :
Risk: 0% (blocked in Filtering mode)
Reasoning: Insufficient quality factors
System protects you by not showing these
Stop Placement Strategies
For Reversal Signals (Regular Divergences) :
Place stop beyond the divergence pivot plus buffer
Bullish : Stop below the divergence low - 1.0-1.5 × ATR
Bearish : Stop above the divergence high + 1.0-1.5 × ATR
Reasoning: If price breaks the pivot, divergence structure is invalidated
For Continuation Signals (Hidden Divergences) :
Place stop beyond recent swing in opposite direction
Bullish continuation : Stop below recent swing low (not the divergence pivot itself)
Bearish continuation : Stop above recent swing high
Reasoning: You're trading with trend, allow more breathing room
ATR-Based Stops :
1.5-2.0 × ATR is standard
Scale by timeframe:
Scalping (1-5m): 1.0-1.5 × ATR (tight)
Day trading (15m-1H): 1.5-2.0 × ATR (balanced)
Swing (4H-D): 2.0-3.0 × ATR (wide)
Never Use Fixed Dollar/Pip Stops :
Markets have different volatility
50-pip stop on EUR/USD ≠ 50-pip stop on GBP/JPY
Always normalize by ATR or pivot structure
Profit Targets and Scaling
Primary Target :
2-3 × ATR from entry (minimum 2:1 reward-risk)
Example : Entry at 100, ATR = 2, stop at 97 (1.5 × ATR) → target at 106 (3 × ATR) = 2:1 R:R
Scaling Out Strategy :
Take 50% off at 1.5 × ATR (secure partial profit)
Move stop to breakeven
Trail remaining 50% with 1.0 × ATR trailing stop
Let winners run if trend persists
Targets by Confidence :
High Confidence (>0.70) : Aggressive targets (3-4 × ATR), trail wider (1.5 × ATR)
Standard Confidence (0.50-0.70) : Normal targets (2-3 × ATR), standard trail (1.0 × ATR)
Low Confidence (0.35-0.50) : Conservative targets (1.5-2 × ATR), tight trail (0.75 × ATR)
Use Bifurcation Zones :
If opposite-side zone is visible on chart (from previous signal), use it as target
Example : Bullish signal at 100, prior supply zone at 110 → use 110 as target
Zones mark institutional resistance/support
Exhaustion-Based Exits :
If you're in a trade and exhaustion >0.75 develops (yellow shading), consider early exit
Market is overextended — reversal risk is high
Take profit even if target not reached
Trade Management by TCS
High TCS + Counter-Trend Trade (Risky) :
Use very tight stops (1.0-1.5 × ATR)
Conservative targets (1.5-2 × ATR)
Quick exit if trade doesn't work immediately
You're fading momentum — respect it
Low TCS + Reversal Trade (Safer) :
Use wider stops (2.0-2.5 × ATR)
Aggressive targets (3-4 × ATR)
Trail with patience
Genuine reversal potential in weak trend
High TCS + Continuation Trade (Safest) :
Standard stops (1.5-2.0 × ATR)
Very aggressive targets (4-5 × ATR)
Trail wide (1.5-2.0 × ATR)
You're with institutional momentum — let it run
Educational Value — Learning Machine Intelligence
BZ-CAE is designed as a learning platform, not just a tool:
Advisory Mode as Teacher
Most indicators are binary: signal or no signal. You don't learn WHY certain setups are better.
BZ-CAE's Advisory mode shows you EVERY potential divergence, then annotates the ones that would be blocked in Filtering mode with specific reasons:
"Bull: strong downtrend (TCS=0.87)" teaches you that TCS >0.85 makes counter-trend very risky
"Adversarial bearish" teaches you that the opposing case was dominating
"Low confidence 32%" teaches you that the setup lacked quality across multiple factors
"Bull spacing: wait 8 bars" teaches you that signals need breathing room
After 50-100 signals in Advisory mode, you internalize the CAE's decision logic. You start seeing these factors yourself BEFORE the indicator does.
Dashboard Transparency
Most "intelligent" indicators are black boxes — you don't know how they make decisions.
BZ-CAE shows you ALL metrics in real-time:
TCS tells you trend strength
DMA tells you momentum alignment
Exhaustion tells you overextension
Adversarial shows both sides of the debate
Confidence shows composite quality
You learn to interpret market state holistically, a skill applicable to ANY trading system beyond this indicator.
Divergence Quality Education
Not all divergences are equal. BZ-CAE teaches you which conditions produce high-probability setups:
Quality divergence : Regular bullish div at a low, TCS <0.50 (weak trend), exhaustion >0.75 (overextended), positive adversarial differential, confidence >0.70
Low-quality divergence : Regular bearish div at a high, TCS >0.85 (strong uptrend), exhaustion <0.30 (not overextended), negative adversarial differential, confidence <0.40
After using the system, you can evaluate divergences manually with similar intelligence.
Risk Management Discipline
Confidence-based position sizing teaches you to adjust risk based on setup quality, not emotions:
Beginners often size all trades identically
Or worse, size UP on marginal setups to "make up" for losses
BZ-CAE forces systematic sizing: premium setups get larger size, marginal setups get smaller size
This creates a probabilistic approach where your edge compounds over time.
What This Indicator Is NOT
Complete transparency about limitations and positioning:
Not a Prediction System
BZ-CAE does not predict future prices. It identifies structural divergences (price-momentum disagreements) and assesses current market state (trend, exhaustion, adversarial conditions). It tells you WHEN conditions favor a potential reversal or continuation, not WHAT WILL HAPPEN.
Markets are probabilistic. Even premium-confidence setups fail ~30-40% of the time. The system improves your probability distribution over many trades — it doesn't eliminate risk.
Not Fully Automated
This is a decision support tool, not a trading robot. You must:
Execute trades manually based on signals
Manage positions (stops, targets, trailing)
Apply discretionary judgment (news events, liquidity, context)
Integrate with your broader strategy and risk rules
The confidence scores guide position sizing, but YOU determine final risk allocation based on your account size, risk tolerance, and portfolio context.
Not Beginner-Friendly
BZ-CAE requires understanding of:
Divergence trading concepts (regular vs hidden, reversal vs continuation)
Market state interpretation (trend vs range, momentum, exhaustion)
Basic technical analysis (pivots, support/resistance, EMAs)
Risk management fundamentals (position sizing, stops, R:R)
This is designed for intermediate to advanced traders willing to invest time learning the system. If you want "buy the arrow" simplicity, this isn't the tool.
Not a Holy Grail
There is no perfect indicator. BZ-CAE filters noise and improves signal quality significantly, but:
Losing trades are inevitable (even at 70% win rate, 30% still fail)
Market conditions change rapidly (yesterday's strong trend becomes today's chop)
Black swan events occur (fundamentals override technicals)
Execution matters (slippage, fees, emotional discipline)
The system provides an EDGE, not a guarantee. Your job is to execute that edge consistently with proper risk management over hundreds of trades.
Not Financial Advice
BZ-CAE is an educational and analytical tool. All trading decisions are your responsibility. Past performance (backtested or live) does not guarantee future results. Only risk capital you can afford to lose. Consult a licensed financial advisor for investment advice specific to your situation.
Ideal Market Conditions
Best Performance Characteristics
Liquid Instruments :
Major forex pairs (EUR/USD, GBP/USD, USD/JPY)
Large-cap stocks and index ETFs (SPY, QQQ, AAPL, MSFT)
High-volume crypto (BTC, ETH)
Major commodities (Gold, Oil, Natural Gas)
Reasoning: Clean price structure, clear pivots, meaningful oscillator behavior
Trending with Consolidations :
Markets that trend for 20-40 bars, then consolidate 10-20 bars, repeat
Creates divergences at consolidation boundaries (reversals) and within trends (continuations)
Both regular and hidden divs find opportunities
5-Minute to Daily Timeframes :
Below 5m: too much noise, false pivots, CAE metrics unstable
Above daily: too few signals, edge diminishes (fundamentals dominate)
Sweet spot: 15m to 4H for most traders
Consistent Volume and Participation :
Regular trading sessions (not holidays or thin markets)
Predictable volatility patterns
Avoid instruments with sudden gaps or circuit breakers
Challenging Conditions
Extremely Low Liquidity :
Penny stocks, exotic forex pairs, low-volume crypto
Erratic pivots, unreliable oscillator readings
CAE metrics can't assess market state properly
Very Low Timeframes (1-Minute or Below) :
Dominated by market microstructure noise
Divergences are everywhere but meaningless
CAE filtering helps but still unreliable
Extended Sideways Consolidation :
100+ bars of tight range with no clear pivots
Oscillator hugs midpoint (45-55 range)
No divergences to detect
Fundamentally-Driven Gap Markets :
Earnings releases, economic data, geopolitical events
Price gaps over stops and targets
Technical structure breaks down
Recommendation: Disable trading around known events
Calculation Methodology — Technical Depth
For users who want to understand the math:
Oscillator Computation
Each oscillator type calculates differently, but all normalize to 0-100:
RSI : ta.rsi(close, length) — Standard Relative Strength Index
Stochastic : ta.stoch(high, low, close, length) — %K calculation
CCI : (ta.cci(hlc3, length) + 100) / 2 — Normalized from -100/+100 to 0-100
MFI : ta.mfi(hlc3, length) — Volume-weighted RSI equivalent
Williams %R : ta.wpr(length) + 100 — Inverted stochastic adjusted to 0-100
Smoothing: If smoothing > 1, apply ta.sma(oscillator, smoothing)
Divergence Detection Algorithm
Identify Pivots :
Price high pivot: ta.pivothigh(high, lookback, lookforward)
Price low pivot: ta.pivotlow(low, lookback, lookforward)
Oscillator high pivot: ta.pivothigh(osc, lookback, lookforward)
Oscillator low pivot: ta.pivotlow(osc, lookback, lookforward)
Store Recent Pivots :
Maintain arrays of last 10 pivots with bar indices
When new pivot confirmed, unshift to array, pop oldest if >10
Scan for Slope Disagreements :
Loop through last 5 pivots
For each pair (current pivot, historical pivot):
Check if within max_lookback bars
Calculate slopes: (current - historical) / bars_between
Regular bearish: price_slope > 0, osc_slope < 0, |osc_slope| > min_threshold
Regular bullish: price_slope < 0, osc_slope > 0, |osc_slope| > min_threshold
Hidden bearish: price_slope < 0, osc_slope > 0, osc_slope > min_threshold
Hidden bullish: price_slope > 0, osc_slope < 0, |osc_slope| > min_threshold
Important Disclaimers and Terms
Performance Disclosure
Past performance, whether backtested or live-traded, does not guarantee future results. Markets change. What works today may not work tomorrow. Hypothetical or simulated performance results have inherent limitations and do not represent actual trading.
Risk of Loss
Trading involves substantial risk of loss. Only trade with risk capital you can afford to lose entirely. The high degree of leverage often available in trading can work against you as well as for you. Leveraged trading may result in losses exceeding your initial deposit.
Not Financial Advice
BZ-CAE is an educational and analytical tool for technical analysis. It is not financial advice, investment advice, or a recommendation to buy or sell any security or instrument. All trading decisions are your sole responsibility. Consult a licensed financial advisor for advice specific to your circumstances.
Technical Indicator Limitations
BZ-CAE is a technical analysis tool based on price and volume data. It does not account for:
Fundamental analysis (earnings, economic data, financial health)
Market sentiment and positioning
Geopolitical events and news
Liquidity conditions and market microstructure changes
Regulatory changes or exchange rules
Integrate with broader analysis and strategy. Do not rely solely on technical indicators for trading decisions.
Repainting Acknowledgment
As disclosed throughout this documentation:
Realtime mode may repaint on forming bars before confirmation (by design for preview functionality)
Confirmed mode has zero repainting (fully validated pivots only)
Choose timing mode appropriate for your use case. Understand the tradeoffs.
Testing Recommendation
ALWAYS test on demo/paper accounts before committing real capital. Validate the indicator's behavior on your specific instruments and timeframes. Learn the system thoroughly in Advisory mode before using Filtering mode.
Learning Resources :
In-indicator tooltips (hover over setting names for detailed explanations)
This comprehensive publishing statement (save for reference)
User guide in script comments (top of code)
Final Word — Philosophy of BZ-CAE
BZ-CAE is not designed to replace your judgment — it's designed to enhance it.
The indicator identifies structural inflection points (bifurcations) where price and momentum disagree. The Cognitive Engine evaluates market state to determine if this disagreement is meaningful or noise. The Adversarial model debates both sides of the trade to catch obvious bad setups. The Confidence system ranks quality so you can choose your risk appetite.
But YOU still execute. YOU still manage risk. YOU still learn from outcomes.
This is intelligence amplification, not intelligence replacement.
Use Advisory mode to learn how expert traders evaluate market state. Use Filtering mode to enforce discipline when emotions run high. Use the dashboard to develop a systematic approach to reading markets. Use confidence scores to size positions probabilistically.
The system provides an edge. Your job is to execute that edge with discipline, patience, and proper risk management over hundreds of trades.
Markets are probabilistic. No system wins every trade. But a systematic edge + disciplined execution + proper risk management compounds over time. That's the path to consistent profitability. BZ-CAE gives you the edge. The discipline and risk management are on you.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Manipulation Model [FB]GENERAL OVERVIEW:
The Manipulation Model indicator is a complete rule-based system that identifies and confirms setups from the Funded Brothers Manipulation Model. It detects large impulsive candles, called Manipulation Candles and Almost Manipulation Candles, that form around key market levels such as session highs/lows, daily, weekly, and monthly levels, or higher timeframe Fair Value Gaps (FVGs). Using this structure, the indicator automatically marks long, short, bulltrap, and beartrap setups with predefined entry, stop loss, and take profit areas.
This indicator was developed by Flux Charts in collaboration with the Funded Brothers.
ATTRIBUTION NOTICE:
This indicator incorporates concepts and source code from the indicator “MCs with Alerts” authored by @hamza_xau on TradingView. We have received full written permission from the original author to use and commercialize this code within this invite-only script.
Original script: MCs with Alerts:
What is the purpose of the indicator?:
The indicator automates detection of the Manipulation Model trading strategy setups by combining candle structure, key levels, session timing, and higher timeframe Fair Value Gaps. It removes discretion by enforcing fixed conditions for valid signals and automatically managing entry, stop-loss, and take-profit logic.
What is the theory behind the indicator?:
The indicator is built on how price interacts with major reference points such as session highs and lows, or daily and weekly levels. These levels are commonly referenced in technical analysis as areas where price previously reversed or consolidated. Manipulation Candles identify moments when price breaks past these reference points on both sides of the prior candle before closing firmly in one direction. When these candles form near higher timeframe Fair Value Gaps, it reflects price reacting inside an area that previously showed directional imbalance. The higher timeframe EMA filter aligns all detected setups with the broader market trend, allowing only signals that match the dominant direction.
MANIPULATION MODEL FEATURES:
Manipulation Candlesticks
Almost Manipulation Candlesticks
Higher Timeframe Fair Value Gaps
Sessions
Key Levels
Signals
Dashboard
Alerts
MANIPULATION CANDLESTICKS:
Manipulation Candlesticks (MCs) are candles that sweep both sides of the previous candle’s range and close outside of it. In the Manipulation Model indicator, these candles form the foundation for the long/short setups. Once one forms, the indicator checks its position relative to sessions, key levels, and higher timeframe Fair Value Gaps to determine if a valid setup exists.
🔹What is a Manipulation Candlestick?
A Manipulation Candlestick (MC) is defined by structure rather than size. It forms when price takes out both the high and low of the previous candle, then closes outside that range.
A bullish Manipulation Candle occurs when price sweeps below the previous candle’s low and then closes above the previous candle’s high.
A bearish Manipulation Candle occurs when price sweeps above the previous candle’s high and then closes below the previous candle’s low.
🔹How to interpret and use Manipulation Candlesticks:
Manipulation Candlesticks show where price made a strong one-sided move after taking both sides of the previous candle’s range. When one forms, it marks an area where buyers or sellers were likely trapped as price moved aggressively in one direction.
A bullish MC shows strong buying after a false move lower. Price sweeps below the prior low, takes out the prior high, and closes above the previous range, confirming buyers are in control.
A bearish MC shows strong selling after a false move higher than the previous candle’s high. Price sweeps above the prior high, drops below the prior low, and closes beneath the previous range, confirming sellers are dominant.
🔹How Manipulation Candlesticks are identified:
The indicator confirms Manipulation Candles using three filters once a candle closes:
Sweep Condition:
Price must take both sides of the previous candle’s range, moving above its high and below its low, before closing outside that range.
Directional Close:
A bullish MC must close above the previous high, and a bearish MC must close below the previous low.
Wick Confirmation:
A bullish MC must have a smaller upper wick (high - close) than lower wick (open - low), and a bearish MC must have a smaller lower wick (close - low) than upper wick (high - open).
Once these conditions are met at candle close, it is confirmed as a bullish or bearish Manipulation Candle.
🔹Bullish Manipulation Candle
A bullish Manipulation Candle forms when price sweeps below the previous candle’s low, then breaks above its high, and closes above it. The lower wick must be larger than the upper wick, showing little pullback as price pushed upward and confirming strong buying pressure.
🔹Bearish Manipulation Candle
A bearish Manipulation Candle forms when price sweeps above the previous candle’s high, then drops below its low, and closes beneath it. The upper wick must be larger than the lower wick, showing little pullback as price moved downward and confirming strong selling pressure.
🔹Manipulation Candle Visuals
When the indicator detects a Manipulation Candle, it automatically changes the candle’s color on the chart. Both bullish and bearish Manipulation Candles use the same color. Users can change this color in the settings by adjusting the “Manipulation Candlestick” option found under the “Style Customization” section.
The candle coloring feature can also be turned off entirely, which only removes the visual highlight from the chart and does not affect the signals or any of the indicator’s underlying logic that uses Manipulation Candlesticks.
ALMOST MANIPULATION CANDLESTICKS:
Almost Manipulation Candlesticks (AMCs) are similar to Manipulation Candles, except they close inside the previous candle’s range instead of outside it. In the Manipulation Model indicator, these candles help identify when price is showing the same sweeping behavior but hasn’t yet confirmed full displacement. They act as early warnings that a manipulation event may be developing. Just like Manipulation Candles, the indicator checks an AMC’s position relative to sessions, key levels, and higher timeframe Fair Value Gaps to determine if a valid setup exists.
🔹What is an Almost Manipulation Candlestick?
An Almost Manipulation Candlestick (AMC) forms when price sweeps both the high and low of the previous candle and closes inside that candle’s range.
A bullish AMC occurs when price sweeps below the previous low, moves above the previous high, and closes within the previous candle’s body instead of above it.
A bearish AMC occurs when price sweeps above the previous high, drops below the previous low, and closes within the previous candle’s body instead of beneath it.
🔹How to Interpret and Use Almost Manipulation Candlesticks:
Almost Manipulation Candles highlight hesitation or early signs of manipulation.
A bullish AMC indicates buyers pushed price up after sweeping lower, but price did not close decisively above the prior high.
A bearish AMC indicates sellers pushed price down after sweeping higher, but price did not close decisively below the prior low.
🔹How Almost Manipulation Candlesticks are identified:
The indicator confirms Almost Manipulation Candles using the same sweep and wick logic as Manipulation Candles, except the candle’s close must remain inside the previous candle’s range:
Sweep Condition:
Price must take both sides of the previous candle’s range, moving above its high and below its low.
Candle Close Location:
The candle’s close must stay within the prior candle’s range.
Wick Confirmation:
For a bullish AMC, the lower wick must be larger than the upper wick. For a bearish AMC, the upper wick must be larger than the lower wick.
Once these conditions are met at candle close, it is confirmed as a bullish or bearish Almost Manipulation Candle.
🔹Bullish Almost Manipulation Candle
A bullish AMC forms when price sweeps below the previous candle’s low, moves above the prior candle’s high, and closes back inside the previous candle’s range. The lower wick must be larger than the upper wick, showing that buyers defended lower prices but the move did not close decisively upward.
🔹Bearish Almost Manipulation Candle
A bearish AMC forms when price sweeps above the previous candle’s high, drops below the previous candle’s low, and closes back inside the previous candle’s range. The upper wick must be larger than the lower wick, showing that sellers rejected higher prices but the candle did not close decisively lower.
🔹Almost Manipulation Candle Visuals
When the indicator detects an Almost Manipulation Candle, it automatically changes the candle’s color on the chart. Both bullish and bearish Almost Manipulation Candles use the same color. Users can change this color in the settings by adjusting the “Almost Manipulation Candlestick” option found under the “Style Customization” section.
The candle coloring feature can also be turned off entirely, which only removes the visual highlight from the chart and does not affect the signals or any of the indicator’s underlying logic that uses Almost Manipulation Candlesticks.
HIGHER TIMEFRAME FAIR VALUE GAPS:
The Manipulation Model indicator automatically plots Fair Value Gaps from two user-selected higher timeframes.
🔹What is a Fair Value Gap?:
A Fair Value Gap (FVG) is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it. A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all. A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
Bullish & Bearish FVGs:
🔹Why are Fair Value Gaps important?:
Fair Value Gaps (FVGs) show where price moved so quickly that one side of the market never got a chance to trade. They represent sudden shifts in what traders believe something is worth, where “fair value” changed. When a large candle drives straight through an area without overlap from the candles before and after it, it means buyers or sellers were so aggressive that the market skipped that price zone entirely.
These gaps matter because they mark the moment when confidence in price changes. If price rallies and never pulls back, it signals that traders accept the new higher prices as fair and are willing to keep buying there. The same logic applies in reverse for bearish gaps. They tell you where the market re-priced aggressively and where value was last accepted.
🔹How are Fair Value Gaps used?:
Higher Timeframe FVGs are used as a confluence for all setups within the Manipulation Model indicator. The indicator automatically detects and plots these imbalances from the chosen higher timeframe onto the current chart. When a Manipulation or Almost Manipulation Candle forms near or inside a higher timeframe Fair Value Gap, it adds context to the setup. They are not trade signals by themselves but act as a supporting element that contextualizes setups.
🔹When are Higher Timeframe Fair Value Gaps mitigated?
A Higher Timeframe Fair Value Gap is considered mitigated when the selected higher timeframe closes above the gap for a bearish FVG or below the gap for a bullish FVG.
🔹Higher Timeframe FVG Settings:
Timeframe 1 / Timeframe 2:
Select up to two higher timeframes to use for Fair Value Gaps. Disabling either one removes it visually from the chart but does not affect signal generation. However, the timeframes you select will be used for signal generation logic.
For example, if you select the 1-hour and 4-hour timeframes, then the 1-hour and 4-hour FVGs will be used for signal generation logic, which is explained in the signals section below.
Combine Zones:
When enabled, overlapping FVGs on the same higher timeframe are merged into a single zone. This keeps the chart clean and prevents duplicate zones from displaying.
Midline:
Adds a center line through each higher timeframe FVG.
Labels:
Displays a “ FVG” label beside each zone. This helps users see which timeframe the FVG is detected from.
Color Customization:
Each timeframe has separate color settings for bullish and bearish FVGs. Users can adjust these colors independently for both timeframes to fit their chart layout.
FVG Display Limit:
Controls how many higher timeframe FVGs are shown at once. Only the nearest X active gaps to current price will appear, helping maintain a clear view of relevant imbalances.
SESSIONS:
The Manipulation Model indicator includes six customizable trading sessions: Asia, London, NY AM, NYSE, London Close, and NY PM. All session times and visuals are fully user-configurable. Each session has adjustable start and end times that can be set to match your preferred schedule. Users can also customize visuals for each session, including the color, opacity, and visibility of session zones.
Session highs and lows are automatically tracked and used within the indicator’s signal logic. When a Manipulation or Almost Manipulation Candle forms near a session high or low, it is recognized within the indicator’s signal detection.
Default times used for each session (in EST):
Asia: 20:00 - 00:00
London: 02:00 - 05:00
NY AM: 08:00 - 09:30
NYSE: 09:30 - 10:00
London Close: 10:00 - 11:00
NY PM: 11:00 - 14:00
🔹Session Settings:
Session Boxes:
Each session has a box that outlines its active time window. These boxes can be toggled on or off independently. When active, they visually separate each part of the trading day. Users can adjust the color and opacity of each session box.
Session Highs/Lows:
Every session can display its own high and low as horizontal lines. Users can customize the line style for session highs/lows, choosing between solid, dashed, or dotted. The color of the lines will match the same color used for the session box.
Labels and Price Display:
Labels can be toggled on for all session highs and lows. Users can adjust label color, text size, and choose whether to show the price next to the label. Users can adjust the text size, choosing between tiny, small, normal, large, and huge.
Extend Levels:
When enabled, each session’s high and low levels can be extended forward by a set number of bars.
Session Titles:
Titles for each enabled session (e.g., “Asia,” “London,” “NY AM”) can be displayed directly on the chart.
Show Last:
The “Show Last” setting allows you to choose how many recent sessions of each type appear on the chart. For example, if you only have the Asia session enabled and have this setting set to 2, the recent two Asia sessions will be displayed.
🔹Sessions Used
Under the “Sessions Used” section in the settings, users can choose which sessions are active for signal generation. Only sessions enabled here will produce signals. For example, if you want setups to form only during the London session, turn off all other sessions in this section.
Disabling a session under the main Sessions section only hides its visuals (boxes, lines, or labels). It does not impact signal detection or logic. However, changing a session’s start and end time in either section will affect signals, since signals are tied to the exact session windows defined by the user. This distinction ensures you have full control over what’s displayed visually versus what contributes to active trade signal logic.
Please Note: Signals are only detected and plotted on your chart during sessions. Signals can not be detected outside of session time windows.
KEY LEVELS:
The Manipulation Model indicator includes 10 key market levels that outline important structural price areas across daily, weekly, and monthly timeframes. These levels include the Daily Open, Previous Day High/Low, Weekly Open, Previous Week High/Low, Monthly Open, Previous Month High/Low, and Midnight Open. The levels can be enabled or disabled and customized in color and line style. These levels are used for the indicator’s signal logic.
🔹Daily Open
The Daily Open marks where the current trading day began.
🔹Previous Day High/Low
The Previous Day High (PDH) marks the highest price reached during the previous regular trading session. It shows where buyers pushed price to its highest point before the market closed. This value is automatically pulled from the daily chart and projected forward onto intraday timeframes.
The Previous Day Low (PDL) marks the lowest price reached during the previous regular trading session. It shows where selling pressure reached its lowest point before buyers stepped in. Like the PDH, this level is retrieved from the prior day’s data and extended into the current session.
🔹Weekly Open
The Weekly Open marks the first price of the current trading week.
🔹Previous Week High/Low
The Previous Week High (PWH) marks the highest price reached during the previous trading week. It shows where buying pressure reached its peak before the weekly close. This value is automatically pulled from the weekly chart and extended forward into the current week for easy reference on intraday timeframes.
The Previous Week Low (PWL) marks the lowest price reached during the previous trading week. It shows where sellers pushed price to its lowest point before buyers regained control. Like the PWH, this level is sourced from the prior week’s data and projected onto the current week’s chart.
🔹Monthly Open
The Monthly Open marks the opening price of the current month.
🔹Previous Month High/Low
The Previous Month High (PMH) marks the highest price reached during the previous calendar month. It represents the point at which buyers achieved the strongest push before the monthly close. This level is automatically retrieved from the monthly chart and extended into the new month on all lower timeframes.
The Previous Month Low (PML) marks the lowest price reached during the previous calendar month. It shows where selling pressure was strongest before buyers stepped back in. Like the PMH, this value is pulled from the prior month’s data and extended into the new month on all lower timeframes.
🔹Midnight Open
The Midnight Open marks the first price of the trading day at 00:00 EST.
🔹Customization Options:
Users can fully customize the appearance of all key levels, including the following:
Daily Levels: Daily Open, PDH, and PDL
Weekly Levels: Weekly Open, PWH, and PWL
Monthly Levels: Monthly Open, PMH, and PML
Midnight Open
Color Settings:
Each group of levels (Daily, Weekly, Monthly) shares a single color for the Open, High, and Low lines. For example, the Daily Open, PDH, and PDL all use the same color. Colors can be changed for each group, but not for individual levels within the same group.
Line Style:
Users can select a global line style, choosing between solid, dashed, or dotted, for all Daily, Weekly, and Monthly levels. This style applies to all levels within those groups. For example, the Weekly Open, PWH, and PWL must all share the same line style.
The Midnight Open has its own independent line style setting and can use a different style from the other key levels.
Show Labels:
When enabled, text labels appear to the right of each key level. Users can adjust label color, but only one label color is applied to all levels for consistency.
🔹Key Levels Used:
Under the “Key Levels Used” section, users can choose which Key Levels and Session Levels (Session Highs/Lows) are factored into signal generation. Only levels enabled here are considered within the logic that confirms setups.
Users can choose between the following levels:
Daily Open
Previous Day High/Low
Weekly Open
Previous Week High/Low
Monthly Open
Previous Month High/Low
Asia Session High/Low
London Session High/Low
NY AM Session High/Low
NY Lunch Session High/Low
NY PM Session High/Low
London Close Session High/Low
Midnight Open
For example, if you only want to see setups that form using the Daily and Weekly levels, you should only enable the Daily Open, Previous Day High/Low, Weekly Open, and Previous Week High/Low.
Disabling a level in the main “Key Levels” section only hides its visuals, while disabling it in “Key Levels Used” removes it entirely from the signal logic. Adjusting or removing any level in this section directly affects how setups are detected since the indicator references these levels when confirming Long, Short, Bulltrap, and Beartrap setups.
SIGNALS:
The Manipulation Model indicator automatically identifies Long, Short, Bulltrap, and Beartrap setups based on the interaction between Manipulation Candles (MCs), Almost Manipulation Candles (AMCs), and two main entry conditions: Key Levels and Fair Value Gaps (FVGs).
Each signal type uses the structure of a Manipulation or Almost Manipulation Candle as its foundation. When one of these candles forms and aligns with the entry conditions, the indicator automatically plots labels for an entry, stop loss (SL), and take profit (TP). Every signal follows a mechanical set of rules and is marked in real time. Once confirmed on a candle close, the signal remains fixed on the chart and does not repaint.
🔹Higher Timeframe Bias Filter
Before a signal is generated, the indicator automatically determines directional bias using the 50-period Exponential Moving Average (EMA) on the 1-hour timeframe.
If price is above the 50 EMA, only bullish setups are allowed.
If price is below the 50 EMA, only bearish setups are allowed.
🔹Stop Loss and Take Profit Logic:
For every setup, the stop loss is placed at the low of the Manipulation or Almost Manipulation Candle for bullish setups, and at the high for bearish setups. The take profit is automatically calculated at a 1:1 risk-to-reward ratio relative to that distance.
Users can adjust both the SL Multiplier and TP Multiplier in the settings, under the “General Configuration” section, to extend or contract these levels. For example, increasing the TP Multiplier to 1.5 sets the take profit at 1.5x the distance between the entry and stop loss.
🔹Signal Input Settings:
Candle Type:
Choose which candle type is used to generate signals. Options include:
Manipulation Candle (MC) only
Almost Manipulation Candle (AMC) only
Both (signals are generated from either candle type)
Entry Method:
Determines whether signals are generated based on:
Key Levels only
Fair Value Gaps only
Both (signals are generated from Key Levels AND Fair Value Gaps)
Setup Types:
You can enable or disable specific setup types. Only the selected setup types will appear on your chart:
Long Setups
Short Setups
Bulltrap Setups
Beartrap Setups
🔹Long Setup – Manipulation Candle + Key Level:
A long setup forms when a bullish Manipulation Candle touches a toggled-on key level under the “Key Levels Used” section and closes above it during a toggled-on session from the “Sessions Used” section. After the candle closes and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bullish Manipulation Candle
Stop Loss: At the low of the same candle
Take Profit: Equal distance above the entry, based on TP multiplier
In this example, a bullish MC touches the PDH during the London Session and closes above the level:
🔹Short Setup – Manipulation Candle + Key Level
A short setup forms when a bearish Manipulation Candle touches a toggled-on key level under the “Key Levels Used” section and closes below it during a toggled-on session from the “Sessions Used” section. After the candle closes and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bearish Manipulation Candle
Stop Loss: At the high of the same candle
Take Profit: Equal distance below the entry, based on the TP Multiplier
In this example, a bearish MC touches the Daily Open during the NY AM Session and closes below the level:
🔹Trap Confirmation Settings
Two settings control how bulltrap and beartrap setups are confirmed once a Manipulation or Almost Manipulation Candle forms.
Candles Between Confirmation:
This setting defines the maximum number of candles allowed between the initial Manipulation Candle and the confirmation candle that closes back in the opposite direction.
For example, if this value is set to 2, the confirmation candle must appear within two bars of the Manipulation Candle for the setup to remain valid. If too many candles form in between, the bull/bear trap setup is ignored.
Trap Wick-to-Body Ratio:
This input measures the ratio of the confirmation candle’s wick size to its body size for bulltrap and beartrap setups. Lower values require a larger body compared to the wick, meaning the confirmation candle must close more decisively. If the ratio is above the threshold set by the user, the confirmation candle for a bulltrap/beartrap setup is considered valid.
For example, if the wick is 10 points and the body is 10 points, the ratio is 1.0 (10 / 10). If the wick is 10 points and the body is 20 points, the ratio is 0.5 (10 / 20).
🔹Beartrap Setup – Manipulation Candle + Key Level
A beartrap setup forms when a bearish Manipulation Candle touches a toggled-on key level under the “Key Levels Used” section. The candle does not need to close above or below the level, it only needs to touch it. After this bearish MC forms, a confirmation candle must close back above the MC’s high during an enabled session under the “Sessions Used” section. The sweep or initial touch can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input
Once these conditions are met and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the low of the confirmation candle
Take Profit: Equal distance above the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bearish Manipulation Candle touches the Daily Open level before price reverses and a confirmation candle closes above it. The confirmation candle occurs during the Asia Session, has a strong body with minimal wicks, meeting the Trap Wick-to-Body Ratio requirement, and it forms just two candles after the bearish MC which is within the limit set by the Candles Between Confirmation input.
🔹Bulltrap Setup – Manipulation Candle + Key Level
A bulltrap setup forms when a bullish Manipulation Candle touches a toggled-on key level under the “Key Levels Used” section. The MC does not need to close above or below the level, it only needs to touch it. After this bullish MC forms, a confirmation candle must close back below the MC’s low during an enabled session under the “Sessions Used” section. The initial key level touch from the MC can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the high of the confirmation candle
Take Profit: Equal distance below the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bullish Manipulation Candle touches the Daily Open level before price reverses and a confirmation candle closes below it. The confirmation candle forms during the NY AM Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and it appears two candles after the bullish MC which is within the limit defined by the Candles Between Confirmation input.
🔹Long Setup – Almost Manipulation Candle + Key Level
A long setup forms when a bullish Almost Manipulation Candle (AMC) touches a toggled-on key level under the “Key Levels Used” section and closes above it during a toggled-on session from the “Sessions Used” section. After the candle closes and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bullish Almost Manipulation Candle
Stop Loss: At the low of the same candle
Take Profit: Equal distance above the entry, based on the TP Multiplier
In this example, a bullish AMC touches the Daily Open during the NYSE Session and closes above the level.
🔹Short Setup – Almost Manipulation Candle + Key Level
A short setup forms when a bearish Almost Manipulation Candle (AMC) touches a toggled-on key level under the “Key Levels Used” section and closes below it during a toggled-on session from the “Sessions Used” section. After the candle closes and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bearish Almost Manipulation Candle
Stop Loss: At the high of the same candle
Take Profit: Equal distance below the entry, based on the TP Multiplier
In this example, a bearish AMC touches the Midnight Open during the NY AM Session and closes below the level.
🔹Beartrap Setup – Almost Manipulation Candle + Key Level
A beartrap setup forms when a bearish Almost Manipulation Candle (AMC) touches a toggled-on key level under the “Key Levels Used” section. The candle does not need to close above or below the level, it only needs to touch it. After this bearish AMC forms, a confirmation candle must close back above the AMC’s high during an enabled session under the “Sessions Used” section. The initial touch can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the low of the confirmation candle
Take Profit: Equal distance above the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bearish AMC touches the Midnight Open before price reverses and a confirmation candle closes above it. The confirmation candle forms during the London Session, has a large body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears seven candles after the bearish AMC which is within the Candles Between Confirmation limit (10 by default).
🔹Bulltrap Setup – Almost Manipulation Candle + Key Level
A bulltrap setup forms when a bullish AMC touches a toggled-on key level under the “Key Levels Used” section. The candle does not need to close above or below the level; it only needs to touch it. After this bullish AMC forms, a confirmation candle must close back below the AMC’s low during an enabled session under the “Sessions Used” section. The initial touch can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the high of the confirmation candle
Take Profit: Equal distance below the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bullish AMC touches the NY Lunch Session Low before price reverses and a confirmation candle closes below it. The confirmation candle forms during the Asia Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears six candles after the bullish AMC which is within the Candles Between Confirmation limit.
🔹Long Setup – Manipulation Candle + Fair Value Gap
A long setup forms when a bullish Manipulation Candle touches a bullish higher timeframe Fair Value Gap (FVG) from one of the two higher timeframe inputs under the “Fair Value Gaps” section. The candle must close during an enabled session under the “Sessions Used” section. After the candle closes and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bullish Manipulation Candle
Stop Loss: At the low of the same candle
Take Profit: Equal distance above the entry, scaled by the TP Multiplier
In this example, a bullish MC taps into a bullish 1-hour FVG during the Asia Session.
🔹Short Setup – Manipulation Candle + Fair Value Gap
A short setup forms when a bearish Manipulation Candle touches a bearish higher timeframe FVG from one of the two selected higher timeframe inputs under the “Fair Value Gaps” section. The candle must also close during an enabled session under the “Sessions Used” section. After the candle closes and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bearish Manipulation Candle
Stop Loss: At the high of the same candle
Take Profit: Equal distance below the entry, scaled by the TP Multiplier
In this example, a bearish MC taps a bearish 1-hour FVG during the Asia Session.
🔹Beartrap Setup – Manipulation Candle + Fair Value Gap
A beartrap setup forms when a bearish Manipulation Candle touches a bullish or bearish higher timeframe FVG from one of the two higher timeframe inputs under the “Higher Timeframe FVG Settings” section. After the bearish MC forms, price must reverse and a confirmation candle must close above the bearish MC’s high during an enabled session under the “Sessions Used” section. The initial touch of the FVG can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the low of the confirmation candle
Take Profit: Equal distance above the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bearish MC taps a 1-hour bearish FVG, price reverses, and a confirmation candle closes above the bearish MC’s high. The confirmation candle forms during the London Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears two candles after the bearish MC which is within the Candles Between Confirmation limit.
🔹Bulltrap Setup – Manipulation Candle + Fair Value Gap
A bulltrap setup forms when a bullish MC touches a bearish or bullish higher timeframeFVG from one of the two higher timeframe inputs under the “Higher Timeframe FVG Settings” section. After the bullish MC forms, price must reverse and a confirmation candle must close below the MC’s low during an enabled session under the “Sessions Used” section. The initial touch of the FVG can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the high of the confirmation candle
Take Profit: Equal distance below the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bullish MC taps a 4-hour bearish FVG, price reverses, and a confirmation candle closes below the bullish MC’s low. The confirmation candle forms during the NY PM Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears six candles after the bullish MC which is within the Candles Between Confirmation limit.
🔹Long Setup – Almost Manipulation Candle + Fair Value Gap
A long setup forms when a bullish AMC touches a bullish higher timeframe FVG from one of the two higher timeframe inputs under the “Fair Value Gaps” section. The candle must close during an enabled session under the “Sessions Used” section. After the candle closes and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bullish AMC
Stop Loss: At the low of the same candle
Take Profit: Equal distance above the entry, scaled by the TP Multiplier
In this example, a bullish AMC taps into a bullish 1-hour FVG during the London Session.
🔹Short Setup – Almost Manipulation Candle + Fair Value Gap
A short setup forms when a bearish AMC touches a bearish higher timeframe FVG from one of the two selected higher timeframe inputs under the “Fair Value Gaps” section. The candle must also close during an enabled session under the “Sessions Used” section. After the candle closes and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the bearish AMC
Stop Loss: At the high of the same candle
Take Profit: Equal distance below the entry, scaled by the TP Multiplier
In this example, a bearish AMC taps a bearish 1-hour FVG during the NY PM Session.
🔹Beartrap Setup – Almost Manipulation Candle + Fair Value Gap
A beartrap setup forms when a bearish AMC touches a bullish or bearish higher timeframe FVG from one of the two higher timeframe inputs under the “Higher Timeframe FVG Settings” section. After the bearish AMC forms, price must reverse and a confirmation candle must close above the bearish AMC’s high during an enabled session under the “Sessions Used” section. The initial touch of the FVG can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is above the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the low of the confirmation candle
Take Profit: Equal distance above the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bearish AMC taps a 4-hour bearish FVG, price reverses, and a confirmation candle closes above the bearish AMC’s high. The confirmation candle forms during the NY PM Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears seven candles after the bearish AMC, which is within the Candles Between Confirmation limit.
🔹Bulltrap Setup – Almost Manipulation Candle + Fair Value Gap
A bulltrap setup forms when a bullish AMC touches a bearish or bullish higher timeframe FVG from one of the two higher timeframe inputs under the “Higher Timeframe FVG Settings” section. After the bullish AMC forms, price must reverse and a confirmation candle must close below the AMC’s low during an enabled session under the “Sessions Used” section. The initial touch of the FVG can occur before or outside the session, but the confirmation candle must close within an active session window.
To confirm the setup, the following conditions must be met:
The confirmation candle must close within the limit set by the Candles Between Confirmation input.
Its wick-to-body ratio must be less than or equal to the Trap Wick-to-Body Ratio input.
Once these conditions are met and price is below the 1-hour 50 EMA, the indicator marks:
Entry: At the close of the confirmation candle
Stop Loss: At the high of the confirmation candle
Take Profit: Equal distance below the entry, measured 1:1 from the candle’s body and scaled by the TP Multiplier
In this example, a bullish AMC taps a 1-hour bullish FVG, price reverses, and a confirmation candle closes below the bullish AMC’s low. The confirmation candle forms during the Asia Session, has a strong body with minimal wicks that meet the Trap Wick-to-Body Ratio requirement, and appears six candles after the bullish AMC, which is within the Candles Between Confirmation limit.
🔹Signal Style Customization
The Manipulation Model indicator provides full visual customization for all signal elements, allowing users to easily adjust the appearance of entry, stop loss, and take profit labels.
Label Colors:
Users can customize the label color for Long Setups (Long and Beartrap) and Short Setups (Short and Bulltrap).
Long and Beartrap setups share the same label color.
Short and Bulltrap setups share the same label color.
Label text color can also be customized and applied globally to all signal labels.
Stop Loss (SL) and Take Profit (TP) Labels:
The SL and TP label colors can be customized independently.
Users can toggle SL Labels and TP Labels on or off. When turned off, the corresponding labels are hidden, but their levels remain active on the chart.
Entry, Stop Loss, and Take Profit Lines:
Each of these lines can be individually toggled on or off.
Entry Line: Marks the entry price level.
Stop Loss Line: Displays the SL level derived from each setup’s logic.
Take Profit Line: Displays the TP level calculated using the Take Profit Multiplier setting.
Users can also toggle the labels for each line on or off and adjust the color for each line type independently.
WIN RATE DASHBOARD:
The Win Rate Dashboard gives traders a quick way to see the recent performance of their enabled setups. It automatically calculates and displays win rates for each signal type turned on under the “General Configuration” section, based on the sessions and key levels currently active in the settings.
The dashboard updates in real time, showing both the win rate percentage and total trade count for all enabled signal types combined. It looks back at a set number of bars to calculate results, providing a simple performance snapshot directly on your chart.
How It Works:
When a signal triggers, the indicator tracks whether price first reaches the Take Profit (TP) or Stop Loss (SL) level.
A winning trade is recorded when the take profit is hit before the stop loss.
A losing trade is recorded when the stop loss is hit before the take profit.
The win rate = (Winning Trades / Total Trades) x 100
🔹Dashboard Customization:
Users can adjust the dashboard’s appearance with the following settings:
Background Color
Frame Color
Border Color
Text Color
You can also toggle the dashboard on or off from the settings menu. It appears in the top-right corner of the chart by default and its position cannot be changed.
🔹Disclaimer:
The Win Rate Dashboard provides historical performance data based on the signals and conditions you’ve enabled. These results are calculated from past bars and are not indicative of future performance or profitability.
ALERTS:
The Manipulation Model indicator includes full alert functionality powered by AnyAlert(), allowing users to receive notifications for all major setups and level breaks in real time.
Users can choose exactly which alerts they want to receive under the “Alerts” section of the settings. Once your preferred alerts are toggled on, you can create a TradingView alert using the AnyAlert() condition. This will automatically trigger alerts for all selected events as they occur on your chart.
Available Alerts:
Long Setup
Short Setup
Bulltrap Setup
Beartrap Setup
Manipulation Candle
Almost Manipulation Candle
Previous Day High/Low Break
Current Day Open Break
Previous Week High/Low Break
Current Week Open Break
Previous Month High/Low Break
Current Month Open Break
Asia Session High/Low Break
London Session High/Low Break
NY AM Session High/Low Break
NYSE Session High/Low Break
London Close Session High/Low Break
NY PM Session High/Low Break
Midnight Open Break
To receive alerts:
Open the alert creation window in TradingView
Select “Manipulation Model ” as the condition
Choose AnyAlert() from the dropdown
Create the alert
IMPORTANT NOTES:
TradingView has limitations when running features on multiple timeframes, which can result in the following restriction:
Computation Error:
The computation of using MTF features is very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
UNIQUENESS:
The Manipulation Model is unique because every setup type is fully rule-based and tied to strict structural logic. Traders can control exactly how signals form by selecting which candle types are used, which key levels and sessions are active, and whether entries trigger from Key Levels, Fair Value Gaps, or both. All setups use objective rules for confirmation, wick-to-body ratio, and higher timeframe bias. The indicator also provides full customization for visuals, alerts, and trade parameters like TP and SL multipliers. A built-in Win Rate Dashboard tracks real-time performance for all enabled setup types based on the user’s active sessions and signal filters. Together, these features make it a complete, mechanical implementation of the Funded Brothers Manipulation Model and it works across all asset classes including stocks, crypto, forex, and futures.
VMDM - Volume, Momentum & Divergence Master [BullByte]VMDM - Volume, Momentum and Divergence Master
Educational Multi-Layer Market Structure Analysis System
Multi-factor divergence engine that scores RSI momentum, volume pressure, and institutional footprints into one non-repainting confluence rating (0-100).
WHAT THIS INDICATOR IS
VMDM is an educational indicator designed to teach traders how to recognize high-probability reversal and continuation patterns by analyzing four independent market dimensions simultaneously. Instead of relying on a single indicator that may produce frequent false signals, VMDM creates a confluence-based scoring system that weights multiple confirmation factors, helping you understand which setups have stronger technical backing and which are lower quality.
This is NOT a trading system or signal generator. It is a learning tool that visualizes complex market structure concepts in an accessible format for both coders and non-coders.
THE PROBLEM IT SOLVES
Most traders face these common challenges:
Challenge 1 - Indicator Overload: Running RSI, volume analysis, and divergence detection separately creates chart clutter and conflicting signals. You waste time cross-referencing multiple windows trying to determine if all factors align.
Challenge 2 - False Divergences: Standard divergence indicators trigger on every minor pivot, creating noise. Many divergences fail because they lack supporting evidence from volume or market structure.
Challenge 3 - Missed Context: A bullish RSI divergence means nothing if it occurs during weak volume or in the middle of strong distribution. Context determines quality.
Challenge 4 - Repainting Confusion: Many divergence scripts repaint, showing perfect historical signals that never actually triggered in real-time, leading to false confidence.
Challenge 5 - Institutional Pattern Recognition: Absorption zones, stop hunts, and exhaustion patterns are taught in trading education but difficult to identify systematically without manual analysis.
VMDM addresses all five challenges by combining complementary analytical layers into one transparent, non-repainting, confluence-weighted system with visual clarity.
WHY THIS SPECIFIC COMBINATION - MASHUP JUSTIFICATION
This indicator is NOT a random mashup of popular indicators. Each of the four layers serves a specific analytical purpose and together they create a complete market structure assessment framework.
THE FOUR ANALYTICAL LAYERS
LAYER 1 - RSI MOMENTUM DIVERGENCE (Trend Exhaustion Detection)
Purpose: Identifies when price momentum is weakening before price itself reverses.
Why RSI: The Relative Strength Index measures momentum on a bounded 0-100 scale, making divergence detection mathematically consistent across all assets and timeframes. Unlike raw price oscillators, RSI normalizes momentum regardless of volatility regime.
How It Contributes: Divergence between price pivots and RSI pivots reveals early momentum exhaustion. A lower price low with a higher RSI low (bullish regular divergence) signals sellers are losing strength even as price makes new lows. This is the PRIMARY signal generator in VMDM.
Limitation If Used Alone: RSI divergence by itself produces many false signals because momentum can remain weak during continued trends. It needs confirmation from volume and structural evidence.
LAYER 2 - VOLUME PRESSURE ANALYSIS (Buying vs Selling Intensity)
Purpose: Quantifies whether the current bar's volume reflects buying pressure or selling pressure based on where price closed within the bar's range.
Methodology: Instead of just measuring volume size, VMDM calculates WHERE in the bar range the close occurred. A close near the high on high volume indicates strong buying absorption. A close near the low indicates selling pressure. The calculation accounts for wick size (wicks reduce pressure quality) and uses percentile ranking over a lookback period to normalize pressure strength on a 0-100 scale.
Formula Concept:
Buy Pressure = Volume × (Close - Low) / (High - Low) × Wick Quality Factor
Sell Pressure = Volume × (High - Close) / (High - Low) × Wick Quality Factor
Net Pressure = Buy Pressure - Sell Pressure
Pressure Strength = Percentile Rank of Net Pressure over lookback period
Why Percentile Ranking: Absolute volume varies by asset and session. Percentile ranking makes 85th percentile pressure on low-volume crypto comparable to 85th percentile pressure on high-volume forex.
How It Contributes: When a bullish divergence occurs at a pivot low AND pressure strength is above 60 (strong buying), this adds 25 confluence points. It confirms that the divergence is occurring during actual accumulation, not just weak selling.
Limitation If Used Alone: Pressure analysis shows current bar intensity but cannot identify trend exhaustion or reversal timing. High buying pressure can exist during a strong uptrend with no reversal imminent.
LAYER 3 - BEHAVIORAL FOOTPRINT PATTERNS (Volume Anomaly Detection)
CRITICAL DISCLAIMER: The terms "institutional footprint," "absorption," "stop hunt," and "exhaustion" used in this indicator are EDUCATIONAL LABELS for specific price and volume behavioral patterns. These patterns are detected through technical analysis of publicly available price, volume, and bar structure data. This indicator does NOT have access to actual institutional order flow, market maker data, broker stop-loss locations, or any non-public data source. These pattern names are used because they are common terminology in trading education to describe these technical behaviors. The analysis is interpretive and based on observable price action, not privileged information.
Purpose: Detect volume anomalies and price patterns that historically correlate with potential reversal zones or trend continuation failure.
Pattern Type 1 - Absorption (Labeled as "ACCUMULATION" or "DISTRIBUTION")
Detection Criteria: Volume is more than 2x the moving average AND bar range is less than 50 percent of the average bar range.
Interpretation: High volume compressed into a tight range suggests large participants are absorbing supply (accumulation) or distribution (distribution) without allowing price to move significantly. This often precedes directional moves once absorption completes.
Visual: Colored box zone highlighting the absorption area.
Pattern Type 2 - Stop Hunt (Labeled as "BULL HUNT" or "BEAR HUNT")
Detection Criteria: Price penetrates a recent 10-bar high or low by a small margin (0.2 percent), then closes back inside the range on above-average volume (1.5x+).
Interpretation: Price briefly spikes beyond recent structure (likely triggering stop losses placed just beyond obvious levels) then reverses. This is a classic false breakout pattern often seen before reversals.
Visual: Label at the wick extreme showing hunt direction.
Pattern Type 3 - Exhaustion (Labeled as "SELL EXHAUST" or "BUY EXHAUST")
Detection Criteria: Lower wick is more than 2.5x the body size with volume above 1.8x average and RSI below 35 (sell exhaustion), OR upper wick more than 2.5x body size with volume above 1.8x average and RSI above 65 (buy exhaustion).
Interpretation: Large wicks with high volume and extreme RSI suggest aggressive buying or selling was met with equally aggressive rejection. This exhaustion often marks short-term extremes.
Visual: Label showing exhaustion type.
How These Contribute: When a divergence forms at a pivot AND one of these behavioral patterns is active, the confluence score increases by 20 points. This confirms the divergence is occurring during structural anomaly activity, not just normal price flow.
Limitation If Used Alone: These patterns can occur mid-trend and do not indicate direction without momentum context. Absorption in a strong uptrend may just be continuation accumulation.
LAYER 4 - CONFLUENCE SCORING MATRIX (Quality Weighting System)
Purpose: Translate all detected conditions into a single 0-100 quality score so you can objectively compare setups.
Scoring Breakdown:
Divergence Present: +30 points (primary signal)
Pressure Confirmation: +25 points (volume supports direction)
Behavioral Footprint Active: +20 points (structural anomaly present)
RSI Extreme: +15 points (RSI below 30 or above 70 at pivot)
Volume Spike: +10 points (current volume above 1.5x average)
Maximum Possible Score: 100 points
Why These Weights: The weights reflect reliability hierarchy based on backtesting observation. Divergence is the core signal (30 points), but without volume confirmation (25 points) many fail. Behavioral patterns add meaningful context (20 points). RSI extremes and volume spikes are secondary confirmations (15 and 10 points).
Quality Tiers:
90-100: TEXTBOOK (all factors aligned)
75-89: HIGH QUALITY (strong confluence)
60-74: VALID (meets minimum threshold)
Below 60: DEVELOPING (not displayed unless threshold lowered)
How It Contributes: The confluence score allows you to filter noise. You can set your minimum quality threshold in settings. Higher thresholds (75+) show fewer but higher-quality patterns. Lower thresholds (50-60) show more patterns but include lower-confidence setups. This teaches you to distinguish strong setups from weak ones.
Limitation: Confluence scoring is historical observation-based, not predictive guarantee. A 95-point setup can still fail. The score represents technical alignment, not future certainty.
WHY THIS COMBINATION WORKS TOGETHER
Each layer addresses a limitation in the others:
RSI Divergence identifies WHEN momentum is exhausting (timing)
Volume Pressure confirms WHETHER the exhaustion is accompanied by opposite-side accumulation (confirmation)
Behavioral Footprint shows IF structural anomalies support the reversal hypothesis (context)
Confluence Scoring weights ALL factors into an objective quality metric (filtering)
Using only RSI divergence gives you timing without confirmation. Using only volume pressure gives you intensity without directional context. Using only pattern detection gives you anomalies without trend exhaustion context. Using all four together creates a complete analytical framework where each layer compensates for the others' weaknesses.
This is not a mashup for the sake of combining indicators. It is a structured analytical system where each component has a defined role in a multi-dimensional market assessment process.
HOW TO READ THE INDICATOR - VISUAL ELEMENTS GUIDE
VMDM displays up to five visual layer types. You can enable or disable each layer independently in settings under "Visual Layers."
VISUAL LAYER 1 - MARKET STRUCTURE (Pivot Points and Lines)
What You See:
Small labels at swing highs and lows marked "PH" (Pivot High) and "PL" (Pivot Low) with horizontal dashed lines extending right from each pivot.
What It Means:
These are CONFIRMED pivots, not real-time. A pivot low appears AFTER the required right-side confirmation bars pass (default 3 bars). This creates a delay but prevents repainting. The pivot only appears once it is mathematically confirmed.
The horizontal lines represent support (from pivot lows) and resistance (from pivot highs) levels where price previously found significant rejection.
Color Coding:
Green label and line: Pivot Low (potential support)
Red label and line: Pivot High (potential resistance)
How To Use:
These pivots are the foundation for divergence detection. Divergence is only calculated between confirmed pivots, ensuring all signals are non-repainting. The lines help you see historical structure levels.
VISUAL LAYER 2 - PRESSURE ZONES (Background Color)
What You See:
Subtle background color shading on bars - light green or light red tint.
What It Means:
This visualizes volume pressure strength in real-time.
Color Coding:
Light Green Background: Pressure Strength above 70 (strong buying pressure - price closing near highs on volume)
Light Red Background: Pressure Strength below 30 (strong selling pressure - price closing near lows on volume)
No Color: Neutral pressure (pressure between 30-70)
How To Use:
When a bullish divergence pattern appears during green pressure zones, it suggests the divergence is forming during accumulation. When a bearish divergence appears during red zones, distribution is occurring. Pressure zones help you filter divergences - those forming in supportive pressure environments have higher probability.
VISUAL LAYER 3 - DIVERGENCE LINES (Dotted Connectors)
What You See:
Dotted lines connecting two pivot points (either two pivot lows or two pivot highs).
What It Means:
A divergence has been detected between those two pivots. The line connects the price pivots where RSI showed opposite behavior.
Color Coding:
Bright Green Line: Bullish divergence (regular or hidden)
Bright Red Line: Bearish divergence (regular or hidden)
How To Use:
The divergence line appears ONLY after the second pivot is confirmed (delayed by right-side confirmation bars). This is intentional to prevent repainting. When you see the line appear, it means:
For Bullish Regular Divergence:
Price made a lower low (second pivot lower than first)
RSI made a higher low (RSI at second pivot higher than first)
Interpretation: Downtrend losing momentum
For Bullish Hidden Divergence:
Price made a higher low (second pivot higher than first)
RSI made a lower low (RSI at second pivot lower than first)
Interpretation: Uptrend continuation likely (pullback within uptrend)
For Bearish Regular Divergence:
Price made a higher high (second pivot higher than first)
RSI made a lower high (RSI at second pivot lower than first)
Interpretation: Uptrend losing momentum
For Bearish Hidden Divergence:
Price made a lower high (second pivot lower than first)
RSI made a higher high (RSI at second pivot higher than first)
Interpretation: Downtrend continuation likely (bounce within downtrend)
If "Show Consolidated Analysis Label" is disabled, a small label will appear on the divergence line showing the divergence type abbreviation.
VISUAL LAYER 4 - BEHAVIORAL FOOTPRINT MARKERS
What You See:
Boxes, labels, and markers at specific bars showing pattern detection.
ABSORPTION ZONES (Boxes):
Colored rectangular boxes spanning one or more bars.
Purple Box: Accumulation absorption zone (high volume, tight range, bullish close)
Red Box: Distribution absorption zone (high volume, tight range, bearish close)
If absorption continues for multiple consecutive bars, the box extends and a counter appears in the label showing how many bars the absorption lasted.
What It Means: Large volume is being absorbed without significant price movement. This often precedes directional breakouts once the absorption phase completes.
STOP HUNT MARKERS (Labels):
Small labels below or above wicks labeled "BULL HUNT" or "BEAR HUNT" (may show bar count if consecutive).
What It Means:
BULL HUNT : Price spiked below recent lows then reversed back up on volume - likely triggered sell stops before reversing
BEAR HUNT : Price spiked above recent highs then reversed back down on volume - likely triggered buy stops before reversing
EXHAUSTION MARKERS (Labels):
Labels showing "SELL EXHAUST" or "BUY EXHAUST."
What It Means:
SELL EXHAUST : Large lower wick with high volume and low RSI - aggressive selling met with strong rejection
BUY EXHAUST : Large upper wick with high volume and high RSI - aggressive buying met with strong rejection
How To Use:
These markers help you identify WHERE structural anomalies occurred. When a divergence signal appears AT THE SAME TIME as one of these patterns, the confluence score increases. You are looking for alignment - divergence + behavioral pattern + pressure confirmation = high-quality setup.
VISUAL LAYER 5 - CONSOLIDATED ANALYSIS LABEL (Main Pattern Signal)
What You See:
A large label appearing at pivot points (or in real-time mode, at current bar) containing full pattern analysis.
Label Appearance:
Depending on your "Use Compact Label Format" setting:
COMPACT MODE (Single Line):
Example: "BULLISH REGULAR | Q:HIGH QUALITY C:82"
Breakdown:
BULLISH REGULAR: Divergence type detected
Q:HIGH QUALITY: Pattern quality tier
C:82: Confluence score (82 out of 100)
FULL MODE (Multi-Line Detailed):
Example:
PATTERN DETECTED
-------------------
BULLISH REGULAR
Quality: HIGH QUALITY
Price: Lower Low
Momentum: Higher Low
Signal: Weakening Downtrend
CONFLUENCE: 82/100
-------------------
Divergence: 30
Pressure: 25
Institutional: 20
RSI Extreme: 0
Volume: 10
Breakdown:
Top section: Pattern type and quality
Middle section: Divergence explanation (what price did vs what RSI did)
Bottom section: Confluence score with itemized breakdown showing which factors contributed
Label Position:
In Confirmed modes: Label appears AT the pivot point (delayed by confirmation bars)
In Real-time mode: Label appears at current bar as conditions develop
Label Color:
Gold: Textbook quality (90+ confluence)
Green: High quality (75-89 confluence)
Blue: Valid quality (60-74 confluence)
How To Use:
This is your primary decision-making label. When it appears:
Check the divergence type (regular divergences are reversal signals, hidden divergences are continuation signals)
Review the quality tier (textbook and high quality have better historical win rates)
Examine the confluence breakdown to see which factors are present and which are missing
Look at the chart context (trend, support/resistance, timeframe)
Use this information to assess whether the setup aligns with your strategy
The label does NOT tell you to buy or sell. It tells you a technical pattern has formed and provides the quality assessment. Your trading decision must incorporate risk management, market context, and your strategy rules.
UNDERSTANDING THE THREE DETECTION MODES
VMDM offers three signal detection modes in settings to accommodate different trading styles and learning objectives.
MODE 1: "Confluence Only (Real-Time)"
How It Works: Displays signals AS THEY DEVELOP on the current bar without waiting for pivot confirmation. The system calculates confluence score from pressure, volume, RSI extremes, and behavioral patterns. Divergence signals are NOT required in this mode.
Delay: ZERO - signals appear immediately.
Use Case: Real-time scanning for high-confluence zones without divergence requirement. Useful for intraday traders who want immediate alerts when multiple factors align.
Tradeoff: More frequent signals but includes setups without confirmed divergence. Higher false signal rate. Signals can change as the bar develops (not repainting in historical bars, but current bar updates).
Visual Behavior: Labels appear at the current bar. No divergence lines unless divergence happens to be present.
MODE 2: "Divergence + Confluence (Confirmed)" - DEFAULT RECOMMENDED
How It Works: Full system engagement. Signals appear ONLY when:
A pivot is confirmed (requires right-side confirmation bars to pass)
Divergence is detected between current pivot and previous pivot
Total confluence score meets or exceeds your minimum threshold
Delay: Equal to your "Pivot Right Bars" setting (default 3 bars). This means signals appear 3 bars AFTER the actual pivot formed.
Use Case: Highest-quality, non-repainting signals for swing traders and learners who want to study confirmed pattern completion.
Tradeoff: Delayed signals. You will not receive the signal until confirmation occurs. In fast-moving markets, price may have already moved significantly by the time the signal appears.
Visual Behavior: Labels appear at the historical pivot location (in the past). Divergence lines connect the two pivots. This is the most educational mode because it shows completed, confirmed patterns.
Non-Repainting Guarantee: Yes. Once a signal appears, it never disappears or changes.
MODE 3: "Divergence + Confluence (Relaxed)"
How It Works: Same as Confirmed mode but with adaptive thresholds. If confluence is very high (10 points above threshold), the signal may appear even if some factors are weak. If divergence is present but confluence is slightly below threshold (within 10 points), it may still appear.
Delay: Same as Confirmed mode (right-side confirmation bars).
Use Case: Slightly more signals than Confirmed mode for traders willing to accept near-threshold setups.
Tradeoff: More signals but lower average quality than Confirmed mode.
Visual Behavior: Same as Confirmed mode.
DASHBOARD GUIDE - READING THE METRICS
The dashboard appears in the corner of your chart (position selectable in settings) and provides real-time market state analysis.
You can choose between four dashboard detail levels in settings: Off, Compact, Optimized (default), Full.
DASHBOARD ROW EXPLANATIONS
ROW 1 - Header Information
Left: Current symbol and timeframe
Center: "VMDM "
Right: Version number
ROW 2 - Mode and Delay
Shows which detection mode you are using and the signal delay.
Example: "CONFIRMED | Delay: 3 bars"
This reminds you that signals in confirmed mode appear 3 bars after the pivot forms.
ROW 3 - Market Regime
Format: "TREND UP HV" or "RANGING NV"
First Part - Trend State:
TREND UP: 20 EMA above 50 EMA with strong separation
TREND DOWN: 20 EMA below 50 EMA with strong separation
RANGING: EMAs close together, low trend strength
TRANSITION: Between trending and ranging states
Second Part - Volatility State:
HV: High Volatility (current ATR more than 1.3x the 50-bar average ATR)
NV: Normal Volatility (current ATR between 0.7x and 1.3x average)
LV: Low Volatility (current ATR less than 0.7x average)
Third Column: Volatility ratio (example: "1.45x" means current ATR is 1.45 times normal)
How To Use: Regime context helps you interpret signals. Reversal divergences are more reliable in ranging or transitional regimes. Continuation divergences (hidden) are more reliable in trending regimes. High volatility means wider stops may be needed.
ROW 4 - Pressure
Shows current volume pressure state.
Format: "BUYING | ██████████░░░░░░░░░"
States:
BUYING : Pressure strength above 60 (closes near highs)
SELLING : Pressure strength below 40 (closes near lows)
NEUTRAL : Pressure strength between 40-60
Bar Visualization: Each block represents 10 percentile points. A full bar (10 filled blocks) = 100th percentile pressure.
Color: Green for buying, red for selling, gray for neutral.
How To Use: When pressure aligns with divergence direction (bullish divergence during buying pressure), confluence is stronger.
ROW 5 - Volume and RSI
Format: "1.8x | RSI 68 | OB"
First Value: Current volume ratio (1.8x = volume is 1.8 times the moving average)
Second Value: Current RSI reading
Third Value: RSI state
OB: Overbought (RSI above 70)
OS: Oversold (RSI below 30)
Blank: Neutral RSI
How To Use: Volume spikes (above 1.5x) during divergence formation add confluence. RSI extremes at pivots add confluence.
ROW 6 - Behavioral Footprint
Format: "BULL HUNT | 2 bars"
Shows the most recent behavioral pattern detected and how long ago.
States:
ACCUMULATION / DISTRIBUTION: Absorption detected
BULL HUNT / BEAR HUNT: Stop hunt detected
SELL EXHAUST / BUY EXHAUST: Exhaustion detected
SCANNING: No recent pattern
NOW: Pattern is active on current bar
How To Use: When footprint activity is recent (within 50 bars) or active now, it adds context to divergence signals forming in that area.
ROW 7 - Current Pattern
Shows the divergence type currently detected (if any).
Examples: "BULLISH REGULAR", "BEARISH HIDDEN", "Scanning..."
Quality: Shows pattern quality (TEXTBOOK, HIGH QUALITY, VALID)
How To Use: This tells you what type of signal is active. Regular divergences are reversal setups. Hidden divergences are continuation setups.
ROW 8 - Session Summary
Format: "14 events | A3 H8 E3"
First Value: Total institutional events this session
Breakdown:
A: Absorption events
H: Stop hunt events
E: Exhaustion events
How To Use: High event counts suggest an active, volatile session with frequent structural anomalies. Low counts suggest quiet, orderly price action.
ROW 9 - Confluence Score (Optimized/Full mode only)
Format: "78/100 | ████████░░"
Shows current real-time confluence score even if no pattern is confirmed yet.
How To Use: Watch this in real-time to see how close you are to pattern formation. When it exceeds your threshold and divergence forms, a signal will appear (after confirmation delay).
ROW 10 - Patterns Studied (Optimized/Full mode only)
Format: "47 patterns | 12 bars ago"
First Value: Total confirmed patterns detected since chart loaded
Second Value: How many bars since the last confirmed pattern appeared
How To Use: Helps you understand pattern frequency on your selected symbol and timeframe. If many bars have passed since last pattern, market may be trending without reversal opportunities.
ROW 11 - Bull/Bear Ratio (Optimized/Full mode only)
Format: "28:19 | BULL"
Shows count of bullish vs bearish patterns detected.
Balance:
BULL: More bullish patterns detected (suggests market has had more bullish reversals/continuations)
BEAR: More bearish patterns detected
BAL: Equal counts
How To Use: Extreme imbalances can indicate directional bias in the studied period. A heavily bullish ratio in a downtrend might suggest frequent failed rallies (bearish continuation). Context matters.
ROW 12 - Volume Ratio Detail (Optimized/Full mode only)
Shows current volume vs average volume in absolute terms.
Example: "1.4x | 45230 / 32300"
How To Use: Confirms whether current activity is above or below normal.
ROW 13 - Last Institutional Event (Full mode only)
Shows the most recent institutional pattern type and how many bars ago it occurred.
Example: "DISTRIBUTION | 23 bars"
How To Use: Tracks recency of last anomaly for context.
SETTINGS GUIDE - EVERY PARAMETER EXPLAINED
PERFORMANCE SECTION
Enable All Visuals (Master Toggle)
Default: ON
What It Does: Master kill switch for ALL visual elements (labels, lines, boxes, background colors, dashboard). When OFF, only plot outputs remain (invisible unless you open data window).
When To Change: Turn OFF on mobile devices, 1-second charts, or slow computers to improve performance. You can still receive alerts even with visuals disabled.
Impact: Dramatic performance improvement when OFF, but you lose all visual feedback.
Maximum Object History
Default: 50 | Range: 10-100
What It Does: Limits how many of each object type (labels, lines, boxes) are kept in memory. Older objects beyond this limit are deleted.
When To Change: Lower to 20-30 on fast timeframes (1-minute charts) to prevent slowdown. Increase to 100 on daily charts if you want more historical pattern visibility.
Impact: Lower values = better performance but less historical visibility. Higher values = more history visible but potential slowdown on fast timeframes.
Alert Cooldown (Bars)
Default: 5 | Range: 1-50
What It Does: Minimum number of bars that must pass before another alert of the same type can fire. Prevents alert spam when multiple patterns form in quick succession.
When To Change: Increase to 20+ on 1-minute charts to reduce noise. Decrease to 1-2 on daily charts if you want every pattern alerted.
Impact: Higher cooldown = fewer alerts. Lower cooldown = more alerts.
USER EXPERIENCE SECTION
Show Enhanced Tooltips
Default: ON
What It Does: Enables detailed hover-over tooltips on labels and visual elements.
When To Change: Turn OFF if you encounter Pine Script compilation errors related to tooltip arguments (rare, platform-specific issue).
Impact: Minimal. Just adds helpful hover text.
MARKET STRUCTURE DETECTION SECTION
Pivot Left Bars
Default: 3 | Range: 2-10
What It Does: Number of bars to the LEFT of the center bar that must be higher (for pivot low) or lower (for pivot high) than the center bar for a pivot to be valid.
Example: With value 3, a pivot low requires the center bar's low to be lower than the 3 bars to its left.
When To Change:
Increase to 5-7 on noisy timeframes (1-minute charts) to filter insignificant pivots
Decrease to 2 on slow timeframes (daily charts) to catch more pivots
Impact: Higher values = fewer, more significant pivots = fewer signals. Lower values = more frequent pivots = more signals but more noise.
Pivot Right Bars
Default: 3 | Range: 2-10
What It Does: Number of bars to the RIGHT of the center bar that must pass for confirmation. This creates the non-repainting delay.
Example: With value 3, a pivot is confirmed 3 bars AFTER it forms.
When To Change:
Increase to 5-7 for slower, more confirmed signals (better for swing trading)
Decrease to 2 for faster signals (better for intraday, but still non-repainting)
Impact: Higher values = longer delay but more reliable confirmation. Lower values = faster signals but less confirmation. This setting directly controls your signal delay in Confirmed and Relaxed modes.
Minimum Confluence Score
Default: 60 | Range: 40-95
What It Does: The threshold score required for a pattern to be displayed. Patterns with confluence scores below this threshold are not shown.
When To Change:
Increase to 75+ if you only want high-quality textbook setups (fewer signals)
Decrease to 50-55 if you want to see more developing patterns (more signals, lower average quality)
Impact: This is your primary signal filter. Higher threshold = fewer, higher-quality signals. Lower threshold = more signals but includes weaker setups. Recommended starting point is 60-65.
TECHNICAL PERIODS SECTION
RSI Period
Default: 14 | Range: 5-50
What It Does: Lookback period for RSI calculation.
When To Change:
Decrease to 9-10 for faster, more sensitive RSI that detects shorter-term momentum changes
Increase to 21-28 for slower, smoother RSI that filters noise
Impact: Lower values make RSI more volatile (more frequent extremes and divergences). Higher values make RSI smoother (fewer but more significant divergences). 14 is industry standard.
Volume Moving Average Period
Default: 20 | Range: 10-200
What It Does: Lookback period for calculating average volume. Current volume is compared to this average to determine volume ratio.
When To Change:
Decrease to 10-14 for shorter-term volume comparison (more sensitive to recent volume changes)
Increase to 50-100 for longer-term volume comparison (smoother, less sensitive)
Impact: Lower values make volume ratio more volatile. Higher values make it more stable. 20 is standard.
ATR Period
Default: 14 | Range: 5-100
What It Does: Lookback period for Average True Range calculation used for volatility measurement and label positioning.
When To Change: Rarely needs adjustment. Use 7-10 for faster volatility response, 21-28 for slower.
Impact: Affects volatility ratio calculation and visual label spacing. Minimal impact on signals.
Pressure Percentile Lookback
Default: 50 | Range: 10-300
What It Does: Lookback period for calculating volume pressure percentile ranking. Your current pressure is ranked against the pressure of the last X bars.
When To Change:
Decrease to 20-30 for shorter-term pressure context (more responsive to recent changes)
Increase to 100-200 for longer-term pressure context (smoother rankings)
Impact: Lower values make pressure strength more sensitive to recent bars. Higher values provide more stable, long-term pressure assessment. Capped at 300 for performance reasons.
SIGNAL DETECTION SECTION
Signal Detection Mode
Default: "Divergence + Confluence (Confirmed)"
Options:
Confluence Only (Real-time)
Divergence + Confluence (Confirmed)
Divergence + Confluence (Relaxed)
What It Does: Selects which detection logic mode to use (see "Understanding The Three Detection Modes" section above).
When To Change: Use Confirmed for learning and non-repainting signals. Use Real-time for live scanning without divergence requirement. Use Relaxed for slightly more signals than Confirmed.
Impact: Fundamentally changes when and how signals appear.
VISUAL LAYERS SECTION
All toggles default to ON. Each controls visibility of one visual layer:
Show Market Structure: Pivot markers and support/resistance lines
Show Pressure Zones: Background color shading
Show Divergence Lines: Dotted lines connecting pivots
Show Institutional Footprint Markers: Absorption boxes, hunt labels, exhaustion labels
Show Consolidated Analysis Label: Main pattern detection label
Use Compact Label Format
Default: OFF
What It Does: Switches consolidated label between single-line compact format and multi-line detailed format.
When To Change: Turn ON if you find full labels too large or distracting.
Impact: Visual clarity vs. information density tradeoff.
DASHBOARD SECTION
Dashboard Mode
Default: "Optimized"
Options: Off, Compact, Optimized, Full
What It Does: Controls how much information the dashboard displays.
Off: No dashboard
Compact: 8 rows (essential metrics only)
Optimized: 12 rows (recommended balance)
Full: 13 rows (every available metric)
Dashboard Position
Default: "Top Right"
Options: Top Right, Top Left, Bottom Right, Bottom Left
What It Does: Screen corner where dashboard appears.
HOW TO USE VMDM - PRACTICAL WORKFLOW
STEP 1 - INITIAL SETUP
Add VMDM to your chart
Select your detection mode (Confirmed recommended for learning)
Set your minimum confluence score (start with 60-65)
Adjust pivot parameters if needed (default 3/3 is good for most timeframes)
Enable the visual layers you want to see
STEP 2 - CHART ANALYSIS
Let the indicator load and analyze historical data
Review the patterns that appear historically
Examine the confluence scores - notice which patterns had higher scores
Observe which patterns occurred during supportive pressure zones
Notice the divergence line connections - understand what price vs RSI did
STEP 3 - PATTERN RECOGNITION LEARNING
When a consolidated analysis label appears:
Read the divergence type (regular or hidden, bullish or bearish)
Check the quality tier (textbook, high quality, or valid)
Review the confluence breakdown - which factors contributed
Look at the chart context - where is price relative to structure, trend, etc.
Observe the behavioral footprint markers nearby - do they support the pattern
STEP 4 - REAL-TIME MONITORING
Watch the dashboard for real-time regime and pressure state
Monitor the current confluence score in the dashboard
When it approaches your threshold, be alert for potential pattern formation
When a new pattern appears (after confirmation delay), evaluate it using the workflow above
Use your trading strategy rules to decide if the setup aligns with your criteria
STEP 5 - POST-PATTERN OBSERVATION
After a pattern appears:
Mark the level on your chart
Observe what price does after the pattern completes
Did price respect the reversal/continuation signal
What was the confluence score of patterns that worked vs. those that failed
Learn which quality tiers and confluence levels produce better results on your specific symbol and timeframe
RECOMMENDED TIMEFRAMES AND ASSET CLASSES
VMDM is timeframe-agnostic and works on any asset with volume data. However, optimal performance varies:
BEST TIMEFRAMES
15-Minute to 1-Hour: Ideal balance of signal frequency and reliability. Pivot confirmation delay is acceptable. Sufficient volume data for pressure analysis.
4-Hour to Daily: Excellent for swing trading. Very high-quality signals. Lower frequency but higher significance. Recommended for learning because patterns are clearer.
1-Minute to 5-Minute: Works but requires adjustment. Increase pivot bars to 5-7 for filtering. Decrease max object history to 30 for performance. Expect more noise.
Weekly/Monthly: Works but very infrequent signals. Increase confluence threshold to 70+ to ensure only major patterns appear.
BEST ASSET CLASSES
Forex Majors: Excellent volume data and clear trends. Pressure analysis works well.
Crypto (Major Pairs): Good volume data. High volatility makes divergences more pronounced. Works very well.
Stock Indices (SPY, QQQ, etc.): Excellent. Clean price action and reliable volume.
Individual Stocks: Works well on high-volume stocks. Low-volume stocks may produce unreliable pressure readings.
Commodities (Gold, Oil, etc.): Works well. Clear trends and reactions.
WHAT THIS INDICATOR CANNOT DO - LIMITATIONS
LIMITATION 1 - It Does Not Predict The Future
VMDM identifies when technical conditions align historically associated with potential reversals or continuations. It does not predict what will happen next. A textbook 95-confluence pattern can still fail if fundamental events, news, or larger timeframe structure override the setup.
LIMITATION 2 - Confirmation Delay Means You Miss Early Entry
In Confirmed and Relaxed modes, the non-repainting design means you receive signals AFTER the pivot is confirmed. Price may have already moved significantly by the time you receive the signal. This is the tradeoff for non-repainting reliability. You can use Real-time mode for faster signals but sacrifice divergence confirmation.
LIMITATION 3 - It Does Not Tell You Position Sizing or Risk Management
VMDM provides technical pattern analysis. It does not calculate stop loss levels, take profit targets, or position sizing. You must apply your own risk management rules. Never risk more than you can afford to lose based on a technical signal.
LIMITATION 4 - Volume Pressure Analysis Requires Reliable Volume Data
On assets with thin volume or unreliable volume reporting, pressure analysis may be inaccurate. Stick to major liquid assets with consistent volume data.
LIMITATION 5 - It Cannot Detect Fundamental Events
VMDM is purely technical. It cannot predict earnings reports, central bank decisions, geopolitical events, or other fundamental catalysts that can override technical patterns.
LIMITATION 6 - Divergence Requires Two Pivots
The indicator cannot detect divergence until at least two pivots of the same type have formed. In strong trends without pullbacks, you may go long periods without signals.
LIMITATION 7 - Institutional Pattern Names Are Interpretive
The behavioral footprint patterns are named using common trading education terminology, but they are detected through technical analysis, not actual institutional data access. The patterns are interpretations based on price and volume behavior.
CONCEPT FOUNDATION - WHY THIS APPROACH WORKS
MARKET PRINCIPLE 1 - Momentum Divergence Precedes Price Reversal
Price is the final output of market forces, but momentum (the rate of change in those forces) shifts first. When price makes a new low but the momentum behind that move is weaker (higher RSI low), it signals that sellers are losing strength even though they temporarily pushed price lower. This precedes reversal. This is a fundamental principle in technical analysis taught by Charles Dow, widely observed in market behavior.
MARKET PRINCIPLE 2 - Volume Reveals Conviction
Price can move on low volume (low conviction) or high volume (high conviction). When price makes a new low on declining volume while RSI shows improving momentum, it suggests the new low is not confirmed by participant conviction. Adding volume pressure analysis to momentum divergence adds a confirmation layer that filters false divergences.
MARKET PRINCIPLE 3 - Anomalies Mark Structural Extremes
When volume spikes significantly but range contracts (absorption), or when price spikes beyond structure then reverses (stop hunt), or when aggressive moves are met with large-wick rejection (exhaustion), these anomalies often mark short-term extremes. Combining these structural observations with momentum analysis creates context.
MARKET PRINCIPLE 4 - Confluence Improves Probability
No single technical factor is reliable in isolation. RSI divergence alone fails frequently. Volume analysis alone cannot time entries. Combining multiple independent factors into a weighted system increases the probability that observed patterns have structural significance rather than random noise.
THE EDUCATIONAL VALUE
By visualizing all four layers simultaneously and breaking down the confluence scoring transparently, VMDM teaches you to think in terms of multi-dimensional analysis rather than single-indicator reliance. Over time, you will learn to recognize these patterns manually and understand which combinations produce better results on your traded assets.
INSTITUTIONAL TERMINOLOGY - IMPORTANT CLARIFICATION
This indicator uses the following terms that are common in trading education:
Institutional Footprint
Absorption (Accumulation / Distribution)
Stop Hunt
Exhaustion
CRITICAL DISCLAIMER:
These terms are EDUCATIONAL LABELS for specific price action and volume behavior patterns detected through technical analysis of publicly available chart data (open, high, low, close, volume). This indicator does NOT have access to:
Actual institutional order flow or order book data
Market maker positions or intentions
Broker stop-loss databases
Non-public trading data
Proprietary institutional information
The patterns labeled as "institutional footprint" are interpretations based on observable price and volume behavior that educational trading literature often associates with potential large-participant activity. The detection is algorithmic pattern recognition, not privileged data access.
When this indicator identifies "absorption," it means it detected high volume within a small range - a condition that MAY indicate large orders being filled but is not confirmation of actual institutional participation.
When it identifies a "stop hunt," it means price briefly penetrated a structural level then reversed - a pattern that MAY have triggered stop losses but is not confirmation that stops were specifically targeted.
When it identifies "exhaustion," it means high volume with large rejection wicks - a pattern that MAY indicate aggressive participation meeting strong opposition but is not confirmation of institutional involvement.
These are technical analysis interpretations, not factual statements about market participant identity or intent.
DISCLAIMER AND RISK WARNING
EDUCATIONAL PURPOSE ONLY
This indicator is designed as an educational tool to help traders learn to recognize technical patterns, understand multi-factor analysis, and practice systematic market observation. It is NOT a trading system, signal service, or financial advice.
NO PERFORMANCE GUARANTEE
Past pattern behavior does not guarantee future results. A pattern that historically preceded price movement in one direction may fail in the future due to changing market conditions, fundamental events, or random variance. Confluence scores reflect historical technical alignment, not future certainty.
TRADING INVOLVES SUBSTANTIAL RISK
Trading financial instruments involves substantial risk of loss. You can lose more than your initial investment. Never trade with money you cannot afford to lose. Always use proper risk management including stop losses, position sizing, and portfolio diversification.
NO PREDICTIVE CLAIMS
This indicator does NOT predict future price movement. It identifies when technical conditions align in patterns that historically have been associated with potential reversals or continuations. Market behavior is probabilistic, not deterministic.
BACKTESTING LIMITATIONS
If you backtest trading strategies using this indicator, ensure you account for:
Realistic commission costs
Realistic slippage (difference between signal price and actual fill price)
Sufficient sample size (minimum 100 trades for statistical relevance)
Reasonable position sizing (risking no more than 1-2 percent of account per trade)
The confirmation delay inherent in the indicator (you cannot enter at the exact pivot in Confirmed mode)
Backtests that do not account for these factors will produce unrealistic results.
AUTHOR LIABILITY
The author (BullByte) is not responsible for any trading losses incurred using this indicator. By using this indicator, you acknowledge that all trading decisions are your sole responsibility and that you understand the risks involved.
NOT FINANCIAL ADVICE
Nothing in this indicator, its code, its description, or its visual outputs constitutes financial, investment, or trading advice. Consult a licensed financial advisor before making investment decisions.
FREQUENTLY ASKED QUESTIONS
Q: Why do signals appear in the past, not at the current bar
A: In Confirmed and Relaxed modes, signals appear at confirmed pivots, which requires waiting for right-side confirmation bars (default 3). This creates a delay but prevents repainting. Use Real-time mode if you want current-bar signals without pivot confirmation.
Q: Can I use this for automated trading
A: You can create alert-based automation, but understand that Confirmed mode signals appear AFTER the pivot with delay, so your entry will not be at the pivot price. Real-time mode signals can change as the current bar develops. Automation requires careful consideration of these factors.
Q: How do I know which confluence score to use
A: Start with 60. Observe which patterns work on your symbol/timeframe. If too many false signals, increase to 70-75. If too few signals, decrease to 55. Quality vs. quantity tradeoff.
Q: Do regular divergences mean I should enter a reversal trade immediately
A: No. Regular divergences indicate momentum exhaustion, which is a WARNING sign that trend may reverse, not a confirmation that it will. Use confluence score, market context, support/resistance, and your strategy rules to make entry decisions. Many divergences fail.
Q: What's the difference between regular and hidden divergence
A: Regular divergence = price and momentum move in opposite directions at extremes = potential reversal signal. Hidden divergence = price and momentum move in opposite directions during pullbacks = potential continuation signal. Hidden divergence suggests the pullback is just a correction within the larger trend.
Q: Why does the pressure zone color sometimes conflict with the divergence direction
A: Pressure is real-time current bar analysis. Divergence is confirmed pivot analysis from the past. They measure different things at different times. A bullish divergence confirmed 3 bars ago might appear during current selling pressure. This is normal.
Q: Can I use this on stocks without volume data
A: No. Volume is required for pressure analysis and behavioral pattern detection. Use only on assets with reliable volume reporting.
Q: How often should I expect signals
A: Depends on timeframe and settings. Daily charts might produce 5-10 signals per month. 1-hour charts might produce 20-30. 15-minute charts might produce 50-100. Adjust confluence threshold to control frequency.
Q: Can I modify the code
A: Yes, this is open source. You can modify for personal use. If you publish a modified version, please credit the original and ensure your publication meets TradingView guidelines.
Q: What if I disagree with a pattern's confluence score
A: The scoring weights are based on general observations and may not suit your specific strategy or asset. You can modify the code to adjust weights if you have data-driven reasons to do so.
Final Notes
VMDM - Volume, Momentum and Divergence Master is an educational multi-layer market analysis system designed to teach systematic pattern recognition through transparent, confluence-weighted signal detection. By combining RSI momentum divergence, volume pressure quantification, behavioral footprint pattern recognition, and quality scoring into a unified framework, it provides a comprehensive learning environment for understanding market structure.
Use this tool to develop your analytical skills, understand how multiple technical factors interact, and learn to distinguish high-quality setups from noise. Remember that technical analysis is probabilistic, not predictive. No indicator replaces proper education, risk management, and trading discipline.
Trade responsibly. Learn continuously. Risk only what you can afford to lose.
-BullByte
VWAP Wave System ToolkitGENERAL OVERVIEW:
The VWAP Wave System Toolkit is an all-in-one trading indicator based on rules from Auction Market Theory. The indicator is built around Volume-Weighted Average Prices (VWAP), Initial Balance (IB) levels, session/composite volume profiles, low-volume zones, optional candle coloring, trade checklists, dashboard readings, and a watermark.
This indicator was developed by Flux Charts in collaboration with Chris Drysdale (Trader Drysdale), author of the best-selling book VWAP Wave System.
What’s the purpose of this indicator?
The VWAP Wave System Toolkit helps traders see where market value is forming, shifting, or being rejected across different timeframes. It’s built on the ideas of Auction Market Theory, which views the market as a continuous auction between buyers and sellers searching for fair value. The indicator combines VWAPs, Initial Balance levels, and volume profiles into one system that shows how price interacts with value throughout the day, week, and month. By combining short-term and higher-timeframe data, it helps traders understand when the market is balanced and when it’s starting to discover new price areas.
What’s the theory behind this indicator?
This indicator is built on Auction Market Theory, introduced by J. Peter Steidlmayer. The theory says that markets operate as continuous auctions, constantly seeking a fair price where buyers and sellers agree on value. When price stays within a narrow range and volume builds up, the market is balanced around a value area. When price moves away from that area, the market enters price discovery, searching for a new zone of balance. VWAPs represent an evolving measure of value, while Volume Profiles and Initial Balance visualize how the auction developed during each session. Low Volume Zones often show where the market moved too quickly to trade efficiently, making them potential areas of interest for future reactions. By combining these elements, the indicator provides a picture of how the market is auctioning and where value may shift next.
VWAP WAVE SYSTEM TOOLKIT FEATURES:
The VWAP Wave System Toolkit indicator includes 7 main features:
Initial Balance Levels
Multi-Timeframe VWAPs
Session Volume Profile
Composite Volume Profile
Low Volume Zones
Checklist
Watermark
Initial Balance Levels:
🔹What is the Initial Balance?
The Initial Balance (IB) is defined by the high and low prices that form within a specific time window. Typically, this time window is the first hour after the regular day trading session starts (09:30 - 10:30 AM EST).
The high and low formed during this window create the foundation for the day’s price structure. From these two points, the indicator automatically calculates several key reference levels that show how far price has extended beyond the initial range or where it may still be balanced. Understanding how these levels are derived and how to interpret them is essential to using the Initial Balance effectively.
🔹How Initial Balance Levels are calculated:
Once the IB window closes, the indicator plots a full set of reference levels derived from the IB range. These levels are:
IB High
IB Low
IB Midpoint
x2 High / x2 Low
x2 Midpoints (x1.5 High/Low)
x3 High / x3 Low
x3 Midpoints (x2.5 High/Low)
🔹IB High & IB Low
The IB High is the highest price reached during the IB session window, and the IB Low is the lowest price reached.
🔹IB Midpoint
The IB Midpoint is the average of the IB High and IB Low.
🔹x2 High & x2 Low
The x2 levels are calculated by projecting one full IB Range above and below the Initial Balance. The IB Range is the distance between the IB High and IB Low.
🔹x2 High Midpoint & x2 Low Midpoint
The x2 High Midpoint (x1.5 High) is the average of the IB High and x2 High. The x2 Low Midpoint (x1.5 Low) is the average of the IB Low and x2 Low.
🔹x3 High & x3 Low
The x3 High/Low levels are calculated by projecting two full IB Range above and below the Initial Balance.
🔹x3 High Midpoint & x3 Low Midpoint
The x3 High Midpoint (x2.5 High) is the average of the x2 High and x3 High. The x3 Low Midpoint (x2.5 Low) is the average of the x2 Low and x3 Low.
🔹Breaks & Retests:
For every Initial Balance level, the indicator automatically tracks when price retests or breaks through them.
A Break occurs when a candle closes above or below an IB level. When this happens, the indicator plots a small blue triangle.
A Retest occurs when price approaches and touches an IB Level, and then reverses in the opposite direction. When this happens, the indicator plots a small green or red triangle.
Green Triangle: Bullish Retest - Price comes down to a level, touches it, and continues up.
Red Triangle: Bearish Retest - Price comes up to a level, touches it, and continues down.
Both breaks and retests are plotted directly on the chart for every toggled IB level. Once detected, they remain fixed and are not repainted.
Other Settings:
🔹Shade IB Range
When enabled, this setting fills the area between the IB High and IB Low (IB Range). The fill helps visually separate the Initial Balance range from the rest of the session, making it easier to identify when price is trading inside or outside of the IB. The color and opacity can also be adjusted through the settings.
🔹Apply One Color
When this setting is enabled, all toggled IB levels use the same color instead of the user’s inputted colors.
🔹Levels Labels
When enabled, text labels that identify each IB level (for example, “IB High,” “x2 High,” or “x2.5 Low”) appear next to each level.
🔹Price Labels
When enabled, the indicator displays the real-time price value of each IB level directly on the chart. These labels update automatically as price changes or when the levels shift due to recalculation from a new session.
🔹Extend Levels Right
When enabled, all toggled IB Levels will be extended infinitely to the right of the chart.
🔹Align Text Right
This setting aligns all level and price labels to the right edge of the plotted line. When disabled, text labels will be aligned to the left edge of each level.
Multi-Timeframe VWAPs:
🔹Why does this indicator include VWAPs?
This indicator includes VWAPs because they show where the most trading activity has occurred within each timeframe, helping identify the market’s fair value area. According to Auction Market Theory, price moves between periods of balance and imbalance as buyers and sellers seek fair value. VWAPs represent those balance points where the majority of trading has taken place. By plotting the Intraday, Weekly, and Monthly VWAPs, the indicator shows how value shifts across different timeframes and whether the market is balanced or moving toward a new area of value.
🔹Intraday VWAP
The Intraday VWAP measures the average traded price for the current trading session and resets each day at market open. It shows where most of the session’s trading has taken place, acting as a real-time fair value line. When price trades near the Intraday VWAP, the market is considered balanced. When price moves far above or below it, the market is exploring new value areas.
🔹Candle Coloring:
The Intraday VWAP candle coloring highlights how far price is trading from the session’s average value using the first and second standard deviation bands as visual reference zones. This feature helps users see whether price is balanced around fair value or expanding into an overextended area.
When candle coloring is enabled, each candle’s color changes based on where it closes relative to the two standard deviation bands surrounding the Intraday VWAP. The first band represents one standard deviation (1.0 STD) and the second represents one and a half standard deviations (1.5 STD).
If a candle closes above the upper 1.5 standard deviation band, it is colored a brighter green, showing strong movement above fair value. Candles closing between the upper 1.0 and 1.5 standard deviation bands are a lighter green, showing moderate strength. If a candle closes below the lower 1.5 standard deviation band, it is colored a brighter red, showing strong movement below fair value. Candles closing between the lower 1.0 and 1.5 standard deviation bands are a lighter red, showing moderate weakness. Candles that close within the ±1.0 standard deviation range remain their normal color, showing that price is balanced near the session’s average.
Both the VWAP line and its bands can be customized in the Intraday VWAP settings. Users can adjust the VWAP line color, band colors, and fill transparency. The candle colors can also be modified. The band sizes (1.0 STD and 1.5 STD by default) can be changed through their input multipliers, allowing users to control the sensitivity of the zones.
Please Note: This candle coloring applies only to the Intraday VWAP
🔹Weekly VWAP
The Weekly VWAP measures the average traded price across the current trading week and resets at the start of each new week. It reflects the fair value area that has developed over multiple trading days, providing a broader view of market balance compared to the Intraday VWAP. When price stays close to the Weekly VWAP, it indicates that the week’s trading activity is balanced. When price consistently trades above or below it, the market is moving away from that balance and forming value in a new area.
Standard Deviation Bands:
The Weekly VWAP includes optional standard deviation bands. Users can toggle 1x and 1.5x STD bands. Users can also adjust the multipliers.
Customization:
All colors for the Weekly VWAP and its standard deviation bands can be changed in the indicator’s settings. Users can adjust the VWAP line color, band colors, and fill transparency.
🔹Monthly VWAP
The Monthly VWAP measures the average traded price for the current month and resets on the first trading day of each new month. It provides the broadest view of value within this indicator, showing where the majority of trading has occurred during the current month. When price remains near the Monthly VWAP, it reflects long-term balance.
Standard Deviation Bands:
The Monthly VWAP includes optional 1x and 1.5x standard deviation bands that can be enabled or disabled. In the settings, users can adjust the standard deviation multipliers.
Customization:
The Monthly VWAP line, band colors, and fill transparency can all be modified in the indicator’s settings.
🔹VWAP Dashboard
The VWAP Dashboard provides a quick real-time overview of how price is positioned relative to the Intraday, Weekly, and Monthly VWAPs. It is displayed directly on the chart and updates automatically with each new candle.
The dashboard is divided into five labeled sections:
Intraday
Weekly
Monthly
Weekly STD
Monthly STD
Intraday, Weekly, and Monthly Sections:
These three sections show whether price is currently trading Above or Below each VWAP.
If price is above a VWAP, that section displays “Bullish”
If price is below a VWAP, that section displays “Bearish”
Weekly STD and Monthly STD:
These sections display whether price is currently inside or outside the standard deviation bands of the Weekly and Monthly VWAPs.
When price is trading within the ±1.0 standard deviation zone, the dashboard output is “Balanced Market”
When price is above the upper standard deviation, price is extending up beyond the week’s or month’s fair value, and the dashboard output is “Bullish Price Discovery”
When price is below the lower standard deviation, price is extending down beyond the week’s or month’s fair value, and the dashboard output is “Bearish Price Discovery”
🔹What is a Balanced Market
A balanced market occurs when price is trading within the ±1.0 standard deviation range of a VWAP. This shows that buyers and sellers are in general agreement on value, and trading activity is taking place around the fair value area. In this state, price tends to rotate around the VWAP rather than trend strongly away from it. Balance reflects stability in the auction process, where neither side is dominant and value is being built at current prices.
🔹What is Bullish Price Discovery
Bullish Price Discovery occurs when price trades above the upper standard deviation of a VWAP. This indicates that buyers are accepting higher prices and that value may be shifting upward. In terms of Auction Market Theory, the market is moving away from balance as it searches for a new fair value area above the prior range.
🔹What is Bearish Price Discovery
Bearish Price Discovery occurs when price trades below the lower standard deviation of a VWAP. This shows that sellers are accepting lower prices and that value may be developing beneath the prior area of balance. The market is moving out of equilibrium as participants test lower prices to find new fair value.
Session Volume Profile:
🔹Why this feature is included:
The Session Volume Profile is included to show where trading activity occurred within each session. It visually represents the volume traded at each price, helping to identify where market participants considered value to be. This ties directly to Auction Market Theory, which views markets as auctions seeking balance between buyers and sellers. The profile highlights those balance areas and shows where volume thins out, helping distinguish between value areas and areas of rejection.
🔹How is the Session Volume Profile calculated and displayed:
At the start of each selected session window, the indicator creates a new volume profile and tracks every bar in that session. For each candle, it saves the high, low, open, close, volume, and time. When the HD (High Definition) setting is enabled, and your chart is between the 1-minute and 30-minute timeframes (recommended), the indicator requests lower-timeframe data and feeds the profile with 1-minute candlesticks for more detail. The running session high and low define the vertical bounds of the volume profile. That span is split into a fixed number of rows. Each row represents a price slice. For every bar and every price row, the indicator checks whether the bar’s high-low range touches that row. If it does, it adds part of the bar’s volume to that row. The allocation uses a step-to-bar-size ratio, so that narrow bars do not overload a tall row and tall bars contribute proportionally across all rows they cross. If the bar closes above its open, that row’s “up” volume bucket is incremented. If it closes below its open, the “down” bucket is incremented. After all bars are processed, the row with the highest total becomes the Point of Control (POC). Starting from that row, the indicator expands upward and downward, adding adjacent rows until the cumulative total reaches your Value Area percentage. The upper boundary is Value Area High (VAH), and the lower boundary is Value Area Low (VAL).
For rendering, each price row becomes a horizontal box drawn from the session start time to a length proportional to that row’s volume versus the session’s maximum row volume. If you choose “Up / Down” volume, the row is split into two adjoining boxes that show the up and down portions. If you choose “Total,” a single box is drawn to the total length. If you choose “Delta,” the length reflects the absolute difference between up and down. The POC is drawn as a line across the row midpoint. VAH and VAL are drawn at the exact prices of the top and bottom value rows. While a session is open the profile keeps updating as new bars form. When the session ends, the script fixes its start and end and stops changing that profile. To avoid any issues with drawing limits, the indicator only renders the two most recent session volume profiles.
Settings:
🔹Enabled
Turns the Session Volume Profile on or off. When disabled, no session profiles, lines, or volume boxes are displayed.
🔹HD
Stands for High Definition. When enabled, the indicator requests data from the 1-minute timeframe to build a smoother, more detailed volume profile. This produces finer row distribution and more accurate POC, VAH, and VAL positioning, especially on higher chart timeframes.
🔹POC Line
Toggles the visibility of the Point of Control line. The POC represents the price level with the highest traded volume in the session. It’s drawn horizontally across the chart at that price, and its color can be customized in settings.
🔹VAH
Controls the display of the Value Area High line. The VAH is the top boundary of the range that contains the specified percentage of total traded volume (default 70%). It marks where volume starts to thin out above fair value. Users can turn it on or off and customize its color.
🔹VAL
Controls the display of the Value Area Low line. The VAL is the lower boundary of the value area and marks where volume thins out below fair value. Its visibility and color can also be customized.
🔹Session
This setting allows users to define the start and end time of the trading session used to calculate the session volume profile. Only bars within this time window are included in the volume profile. When a session ends, the volume profile locks, and a new one begins automatically when the next session begins based on the user’s input.
🔹Volume
Controls how the histogram rows are displayed:
Up/Down: Splits each price row into two parts: one for bullish candles (Up volume) and one for bearish candles (Down volume). This helps visualize buying versus selling pressure at each price.
Total: Combines both Up and Down volume into a single-colored bar for each price level. Since direction isn’t separated, this view focuses purely on where trading activity was concentrated, regardless of which side was in control. A tall bar means strong participation and interest at that price.
Delta: Displays the difference between up and down volume (Up/Down) for each row, highlighting which side controlled that price area.
🔹Value Area Volume
The Value Area Volume setting defines how much of the total session volume is considered the “value area.” By default, it’s 70%, meaning the indicator finds the price range where 70% of all trading took place during that session. This area is where buyers and sellers agreed the most on price, also known as the fair value zone.
If you increase the percentage (for example, to 80%), the value area becomes wider and includes more of the session’s trading range. Lowering it (for example, to 60%) makes it narrower, focusing only on the prices with the heaviest activity.
🔹Row Size
The Row Size controls how detailed the volume profile looks. It decides how many price levels (rows) the profile is divided into. Smaller values make the profile smoother and easier to read but less precise. Larger values add more detail and show exactly where volume clustered, but they can make the profile look denser.
The maximum value is 450 rows, and the minimum value is 5 rows. Higher values (especially above 200) can make the volume profile appear more detailed but may also cause performance issues or partial rendering on TradingView charts due to the platform’s drawing object limits. For most users, values between 50–150 give a good balance between clarity and performance.
25 Rows vs. 200 Rows:
Composite Volume Profile:
The Composite Volume Profile shows how volume is distributed across a larger selected range instead of just one session. It helps traders see where the most trading activity has taken place over multiple days. This gives a picture of long-term balance areas and important price zones that have repeatedly attracted buyers and sellers.
The Composite Profile uses the same base logic and visual settings as the Session Volume Profile, including POC Line, VAH, VAL, Volume Type, Value Area Volume, Row Size, and Colors. Any customization applied to those settings also affects the Composite Profile, ensuring a consistent appearance across both features.
🔹Session Count Setting:
This setting controls how many past sessions are merged into one composite volume profile. For example, if the Session Count is set to 5, and each session represents one trading day, the profile combines data from the last 5 trading days. A “session” refers to the time window defined in the Session Volume Profile settings.
🔹How is the Composite Volume Profile used?
In Auction Market Theory, markets move through phases of balance and imbalance as traders agree on value before moving to explore new ones. The Composite Volume Profile shows where that long-term balance has formed. Large, wide areas on the profile indicate zones where multiple sessions agreed on value. Thin areas show prices that were quickly rejected, where less time and volume were traded. Combining short-term session profiles into a composite helps identify when the market is holding near established value or entering new price discovery, confirming transitions between balance and price discovery.
Low Volume Zones:
🔹What are Low Volume Zones?
Low Volume Zones (LVZs) are price areas where trading activity was minimal compared to surrounding levels. On a volume profile, they appear as thin “valleys” between two high-volume “peaks.” These valleys show where the market moved too quickly for significant two-way trade to occur. In Auction Market Theory, they represent inefficient areas, meaning the market didn’t find fair value, so price either skipped through or rejected those levels.
🔹How are Low Volume Zones found?
The indicator identifies Low Volume Zones (LVZs) directly from Session Volume Profiles (SVPs) by analyzing the shape of its volume distribution. Each SVP is built from a series of horizontal rows, where each row represents the total traded volume within a narrow price range. The longer the row, the higher the trading activity at that price.
The indicator first locates the two largest high-volume peaks on the profile. These peaks represent the strongest areas of market activity. Once these two main peaks are found, the indicator looks on both sides of each peak for the lowest-volume row in the surrounding area. Those small-volume dips define the boundaries of the Low Volume Zones.
Each high-volume peak can therefore generate two LVZs (one above and one below it), resulting in a maximum of four Low Volume Zones per volume profile. If two LVZs overlap or share the same price range, they are automatically merged into a single larger zone, which may reduce the total count to three or fewer.
🔹How are Low Volume Zones used?
Low Volume Zones (LVZs) mark areas where the market previously traded with little participation. In Auction Market Theory, these zones represent inefficient price areas where buyers and sellers failed to agree on value. When price returns to an LVZ, it may act as an area where price tends to react differently due to lower previous trading activity. If the market still sees that area as unfair, price will reject it and reverse quickly. If the market now accepts that price level, volume builds and price moves through it smoothly as the auction seeks new balance. Traders use LVZs to identify where price may react sharply or move quickly through thin areas. When price approaches a zone from above or below, it signals potential rejection or continuation.
🔹LVZ Breaks and Retests
The indicator automatically tracks how price interacts with every detected LVZ.
A Break occurs when price fully moves through the entire LVZ and closes past it. When this happens, the indicator plots a small blue triangle.
A Retest occurs when price touches an LVZ and reverses away, showing rejection. When price comes down to a level, taps it, and continues up, it’s considered a bullish retest, and a small green triangle is plotted. When price comes up to a level, taps it, and continues down, it’s considered a bearish retest, and a small red triangle is plotted.
🔹LVZ Settings
Enabled:
Toggles LVZ detection and visualization on or off.
Realtime:
Allows LVZs to form dynamically as the current session develops, updating live as volume builds or thins out. When disabled, zones only appear once the session closes.
Please note: When this setting is enabled, zones may update or shift while the current session is still forming. Because the Session Volume Profile is continuously recalculating with new data, both the volume distribution and detected zones can change until the session closes.
Row Pivot Length:
Controls how far above and below each price row the indicator looks when identifying the highest and lowest volume points that define each Low Volume Zone. Larger values make the indicator compare a wider range of rows, while smaller values keep the analysis closer to each row’s immediate area.
Last SVPs:
Defines how many recent Session Volume Profiles are used for LVZs. For example, setting it to 3 limits LVZ detection to the last three sessions only.
Retests and Breaks:
Enables or disables the display of the retest and break markers described above.
Checklist:
The Checklist is a manual on-chart dashboard that allows traders to keep track of specific market conditions before entering a trade. Each checklist item can be toggled on or off in the indicator’s settings. When enabled, a checkmark emoji appears next to that item on the dashboard. When disabled, an X emoji appears next to that item.
This feature is designed to help traders visually confirm important steps in their process, such as reviewing trend direction, VWAP alignment, or session context. The checklist can also be repositioned anywhere on the chart using the “Location” setting for better visibility and layout preference.
Watermark:
The Watermark feature displays key chart information directly in the background, including the current ticker symbol, selected timeframe, and date. The watermark’s size, color, and transparency can be adjusted in the settings.
UNIQUENESS:
The VWAP Wave System Toolkit is unique because it brings every part of Auction Market Theory to the chart. It shows how value builds and shifts by combining Initial Balance levels, multi-timeframe VWAPs, and volume profiles. The indicator automatically marks low-volume zones where the market moved too quickly, highlights breaks and retests, and tracks how price interacts with fair value across sessions, weeks, and months. Every feature works together to give a simple view of balance, imbalance, and value development as the auction unfolds.
Troop ToolkitGENERAL OVERVIEW:
The Troop Toolkit indicator by Flux Charts is an all-in-one toolkit to identify Multi-Timeframe First Fair Value Gaps, Multi-Timeframe Inversion First Fair Value Gap, Fair Value Gaps, Buyside & Sellside Liquidity Levels, SMT Divergences, EQ Ranges, Efficient Candle Ranges, and Volume Imbalances. This indicator was developed by Flux Charts, utilizing concepts taught and traded by Andrew Macre.
ATTRIBUTION NOTICE:
This indicator incorporates concepts and source code from the indicator “Efficient Candle Range (ECR)” authored by @Joeyheick on TradingView. We have received full written permission from the original author to use and commercialize this code within this invite-only script.
Original script: Efficient Candle Range (ECR):
TROOP TOOLKIT FEATURES:
The Troop Toolkit indicator includes 8 main features:
Multi-Timeframe First Fair Value Gaps (FFVG)
Multi-Timeframe Inverse First Fair Value Gaps (IFFVGs)
Fair Value Gaps (FVG)
Buyside & Sellside Liquidity Levels
SMT Divergences
EQ Ranges (EQR)
Efficient Candle Ranges (ECR)
Volume Imbalances (VI)
Multi-Timeframe First Fair Value Gaps (FFVG):
The first feature of this indicator is Multi-Timeframe First Fair Value Gaps (FFVG). These are the first Fair Value Gaps (FVG) that form after a swing high or low is created.
🔹What is a Fair Value Gap?:
To properly understand First Fair Value Gaps (FFVGs), you must understand what a Fair Value Gap (FVG) is. A FVG is an area where the market’s perception of fair value suddenly changes. On your chart, it appears as a three-candle pattern: a large candle in the middle, with smaller candles on each side that don’t fully overlap it. A bullish FVG forms when a bullish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all. A bearish FVG forms when a bearish candle is between two smaller bullish/bearish candles, where the first and third candles’ wicks don’t overlap each other at all.
Examples of Bullish & Bearish FVGs:
🔹Why are Fair Value Gaps important?:
Fair Value Gaps show where price moved so quickly that one side of the market never got a chance to trade. They represent sudden shifts in what traders believe something is worth, where “fair value” changed. When a large candle drives straight through an area without overlap from the candles before and after it, it means buyers or sellers were so aggressive that the market skipped that price zone entirely.
These gaps matter because they mark the moment when confidence in price changes. If price rallies and never pulls back, it signals that traders accept the new higher prices as fair and are willing to keep buying there. The same logic applies in reverse for bearish gaps. They tell you where the market re-priced aggressively and where value was last accepted.
🔹What is a First Fair Value Gap?:
A First Fair Value Gap is the very first fair value gap that forms immediately after a new swing high or swing low. It marks the first sign of imbalance following a key turning point in price.
When a major swing low forms, the first bullish FVG that appears afterward shows where buyers first stepped in with enough strength to shift momentum upward. When a swing high forms, the first bearish FVG that appears afterward shows where sellers first regained control.
Because it’s tied directly to a confirmed swing point, an FFVG carries more weight than a regular FVG that forms randomly in the middle of a large move. It identifies where a new phase of price delivery begins, which is the first sign that the market is repricing after completing a prior leg.
🔹How are First Fair Value Gaps Detected?:
The indicator identifies First Fair Value Gaps (FFVGs) by starting with a swing high or swing low, which is detected using the 5-minute timeframe.
A swing high is formed when a candle’s high is higher than the two candles before and after it.
A swing low is formed when a candle’s low is lower than the two candles before and after it.
Each time a new swing high or low is confirmed, the indicator marks that area as a “pivot.” From that moment, the script begins looking for the first valid Fair Value Gap that forms after that swing.
To identify a First Fair Value Gap (FFVG), you should first identify a swing high and swing low. These are the most recent highest and lowest areas price reached. A bullish FFVG is the first bullish FVG that forms after a swing low. A bearish FFVG is the first bearish FVG that forms after a swing high.
This indicator automatically detects bullish and bearish FFVGs across the 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute timeframes simultaneously. You will only be able to view FFVGs from timeframes that are equal to or less than your chart’s timeframe. For example, if you are using a 3-minute chart, you’ll only be able to view 1-minute, 2-minute, and 3-minute FFVGs, but not 4-minute or 5-minute FFVGs.
In the indicator settings, under the “FFVGs” section, you can toggle on/off which timeframes are used for FFVG detections. The following settings correspond to the following timeframes:
1 → 1-minute timeframe
2 → 2-minute timeframe
3 → 3-minute timeframe
4 → 4-minute timeframe
5 → 5-minute timeframe
In this screenshot, the chart timeframe is set to the 5-minute, and all the FFVG timeframes are enabled in the settings. Thus, 1-minute, 2-minute, 3-minute, 4-minute, and 5-minute FFVGs will be displayed on the chart.
The ‘Sweep Proximity’ setting determines how soon after a swing high/low the indicator will show the First Fair Value Gap. After a high/low forms, the indicator looks for the very first gap that forms and shows it, but only if it appears within the number of bars you choose. This distance is measured using your current chart timeframe. For example, on a 1-minute chart, a value of 6 means the FFVG must form within 6 bars (6 minutes) after the high/low is detected. Smaller values show only the most immediate FFVGs after a high/low forms. Larger values allow FFVGs to be detected farther away from the high/low, which may display more zones but can increase chart clutter. The default value is 6.
Users can also customize how FFVG zones appear. The settings let you change the color and transparency of bullish and bearish FFVGs, turn the midline on or off, and enable or disable FFVG labels. When labels are enabled, they show the timeframe the FFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Multi-Timeframe Inversion First Fair Value Gaps (IFFVG):
The second feature of this indicator is Multi-Timeframe Inversion First Fair Value Gaps (IFFVG). These form when a FFVG is invalidated by a candle close on the 5-minute timeframe.
Bullish IFFVG: A bullish IFFVG forms when a 5-minute candle closes above a bearish FFVG, invalidating it.
Bearish IFFVG: A bearish IFFVG forms when a 5-minute candle closes below a bearish FFVG, invalidating it.
The IFFVGs will be displayed from all the timeframes that are enabled for FFVGs. For example, if only the 1-minute, 2-minute, and 3-minute FFVGs are enabled, then only IFFVGs from the 1-minute, 2-minute, and 3-minute timeframes will be displayed.
Users can also customize how IFFVG zones appear. The settings allow you to change the color and transparency of bullish and bearish IFFVGs, adjust the color of IFFVG borders, the thickness of the borders, turn the midline on or off, and enable or disable IFFVG labels. When labels are enabled, they show the timeframe the IFFVG came from, making it easy to identify whether it was detected on the 1m, 2m, 3m, 4m, or 5m chart.
Fair Value Gaps (FVG):
The indicator automatically detects regular bullish and bearish Fair Value Gaps (FVG). However, the indicator only plots FVGs that are NOT First Fair Value Gaps. This prevents FVGs and FFVGs from overlapping each other. There is no style customization for Fair Value Gaps. Users can only toggle them on or off through the indicator settings.
Liquidity Levels:
The indicator automatically plots Buyside & Sellside liquidity levels using user-specific session highs/lows and swing highs/lows.
Sessions used and their time periods (in EST):
Asia Session (20:00 - 00:00)
London Session (02:00 - 05:00)
NY AM Session (09:30 - 11:00)
NY PM Session (14:00 - 16:00)
All highs/lows that have not been ‘swept’, meaning price never crosses above (for highs) or below (for lows), will remain plotted on the chart. After a level is swept, it will become gray.
Swing Highs/Lows are plotted using the color selected from the ‘Colors’ setting under the ‘Liquidity Levels’ section. These levels are plotted with the following labels “ SSL” for lows and “ BSL” for highs. For example, “5M SSL” would be a 5-minute low.
The Asia Session Highs/Lows are plotted yellow with the following labels “Asia Low” & “Asia High”
The London Session Highs/Lows are plotted green with the following labels “London Low” & “London High”
The NY AM Session Highs/Lows are plotted orange with the following labels “NY AM Low” & “NY AM High”
The NY PM Session Highs/Lows are plotted blue with the following labels “NY PM Low” & “NY PM High”
Users can toggle these levels on/off, toggle session highs/lows on/off, toggle text labels on/off, and customize the colors used for swing highs/lows.
SMT Divergence:
This indicator automatically highlights SMT Divergences that occur between the current selected chart ticker and a second user-selected ticker.
A SMT Divergence forms when the prices of the currently selected chart ticker and the user-selected ticker don’t follow each other. For example, if the current chart’s ticker symbol is SEED_ALEXDRAYM_SHORTINTEREST2:NQ and the user-selected ticker is $ES. If SEED_ALEXDRAYM_SHORTINTEREST2:NQ does not sweep the low of the NY AM Session, but NYSE:ES sweeps that same exact session’s low during the same candle, then a SMT Divergence is detected.
In the images below, SEED_ALEXDRAYM_SHORTINTEREST2:NQ and NYSE:ES form a low at 10:45 AM on August 27th. At 11:30 AM, the 10:45 AM low is taken out on $NQ. However, on NYSE:ES , price failed to take out this exact low at 11:30 AM. Thus, an SMT Divergence is detected, and a bubble is plotted on the SEED_ALEXDRAYM_SHORTINTEREST2:NQ chart.
NYSE:ES Chart:
SEED_ALEXDRAYM_SHORTINTEREST2:NQ Chart:
When hovering over the SMT Divergence bubble, a textbox will appear which includes more information about the current SMT Divergence. These text boxes can include one of the following messages:
$TICKER failed high/low
$TICKER took high/low
$TICKER failed high/low
$TICKER took high/low
“$TICKER failed high/low” and “$TICKER failed high/low”: This textbox message occurs when the chart’s symbol creates a new high/low after a high/low formed, but the user-selected ticker fails to create a new higher high or lower low (similar to the SEED_ALEXDRAYM_SHORTINTEREST2:NQ and NYSE:ES example images above).
“$TICKER took high/low” and “$TICKER took high/low”: This textbox image occurs when the user-selected ticker creates a new higher high / lower low after a high/low formed, but the chart’s ticker fails to create a new higher high or lower low.
The indicator uses the levels described above in the ‘Liquidity Levels’ section to detect SMT Divergences. This includes all the session highs/lows and swing highs/lows.
Users can toggle on/off SMT Divergences through the settings. They can also change the ticker used for detections. Since SMT Divergences occur by comparing two tickers, the inputted ticker within the settings will always be compared to the current selected ticker on your chart.
Users can also adjust the colors used for SMT Divergence bubbles at highs and lows. By default, green bubbles appear when an SMT Divergence occurs from a low, and red bubbles appear when an SMT Divergence occurs from a high.
EQ Range:
The EQ Range shows you where price is finding fair value during the New York session. It does this by comparing two VWAP levels: one influenced by global trading and one driven by New York session volume. When both are available, it plots a live zone between them.
This zone updates every bar and extends to the right, so you can see where price may consolidate, stall, or snap back toward during the New York session. The EQ Range only appears during the New York session.
Within the indicator settings, users can toggle the EQ Range zone on/off.
Efficient Candle Range:
Efficient Candle Ranges (ECR) mark areas where the market is moving smoothly without one side (buyers or sellers) moving price aggressively. An “efficient candle” is simply a candle where the body is small compared to the whole candle and the wicks are fairly similar in size. That means buyers and sellers both participated, and price wasn’t pushed too far in either direction.
When one of these candles forms, the indicator creates a zone using its high and low. If more efficient candles appear in a row, the zone can widen to include any new highs or lows they create. The box continues to extend forward as long as price stays inside it.
If price closes outside the top or bottom of the box, the zone is no longer active and visually fades out. While active, it shows where the market is moving in a controlled way, which typically leads to pauses, retests, or a strong move once price breaks out of the range.
Within the indicator settings, users can customize the active ECR zone color, inactive ECR zone colors, and the text color for ECR labels. ECRs can be toggled on/off as well.
Volume Imbalance:
A Volume Imbalance forms when one candle does not properly overlap the trading range of the previous candle. For example, if a bullish candle opens above the previous candle’s close and price did not trade back down into that gap, there was no two-way trade in that price region. That means sellers never had a chance to transact there. The same applies in reverse for bearish moves. When that happens, there is a “missing volume” zone between the two candles because one side of the auction was skipped.
When the indicator detects that kind of gap, where the open and close relationship between two candles leaves untraded space, it marks that area with a box labeled “VI.” A bullish volume imbalance means buyers pushed through a level without sellers trading back into it. A bearish volume imbalance means sellers drove price lower without buyers filling in behind them.
Once price has fully filled the gap, meaning it traded back between the area that was skipped, the gap is deemed as inactive and removed from the chart.
In the settings, users can toggle on/off Volume Imbalances and also adjust the colors for Bullish VIs and Bearish VIs.
Important Notes:
TradingView has limitations when running features on multiple timeframes, such as FFVGs and IFFVGs, which can result in the following restriction:
Computation Error:
The computation of using MTF features is very intensive on TradingView. This can sometimes cause calculation timeouts. When this occurs, simply force the recalculation by modifying one indicator’s settings or by removing the indicator and adding it to your chart again.
UNIQUENESS:
The Troop Toolkit indicator solves a major workflow problem that has never been automated before on TradingView. The most important piece: automatic detection of First Fair Value Gaps (FFVGs) and their proper conversion into Inversion First Fair Value Gaps (IFFVGs). These two concepts require strict rules, swing validation, multi-timeframe comparison, and invalidation logic that traders can currently only do manually. There is no other indicator on TradingView that handles FFVG + IFFVG logic correctly across multiple intraday timeframes at once. Before this tool was created, traders had to manually scan five different timeframes every day and track every first fair value gap that formed after a significant high/low was formed. This took hours each week and was prone to inconsistencies. Troop Toolkit automates the entire process with clear validation rules, making this the first indicator to fully operationalize FFVG + IFFVG workflow.
Inside SwingsOverview
The Inside Swings indicator identifies and visualizes "inside swing" patterns in price action. These patterns occur when price creates a series of pivots that form overlapping ranges, indicating potential consolidation or reversal zones.
What are Inside Swings?
Inside swings are specific pivot patterns where:
- HLHL Pattern: High-Low-High-Low sequence where the first high is higher than the second high, and the first low is lower than the second low
- LHLH Pattern: Low-High-Low-High sequence where the first low is lower than the second low, and the first high is higher than the second high
Here an Example
These patterns create overlapping price ranges that often act as:
- Support/Resistance zones
- Consolidation areas
- Potential reversal points
- Breakout levels
Levels From the Created Range
Input Parameters
Core Settings
- Pivot Lookback Length (default: 5): Number of bars on each side to confirm a pivot high/low
- Max Boxes (default: 100): Maximum number of patterns to display on chart
Extension Settings
- Extend Lines: Enable/disable line extensions - this extends the Extremes of the Swings to where a new Swing Started or Extended Right for the Latest Inside Swings
- Show High 1 Line: Display first high/low extension line
- Show High 2 Line: Display second high/low extension line
- Show Low 1 Line: Display first low/high extension line
- Show Low 2 Line: Display second low/high extension line
Visual Customization
Box Colors
- HLHL Box Color: Color for HLHL pattern boxes (default: green)
- HLHL Border Color: Border color for HLHL boxes
- LHLH Box Color: Color for LHLH pattern boxes (default: red)
- LHLH Border Color: Border color for LHLH boxes
Line Colors
- HLHL Line Color: Extension line color for HLHL patterns
- LHLH Line Color: Extension line color for LHLH patterns
- Line Width: Thickness of extension lines (1-5)
Pattern Detection Logic
HLHL Pattern (Bullish Inside Swing)
Condition: High1 > High2 AND Low1 < Low2
Sequence: High → Low → High → Low
Visual: Two overlapping boxes with first range encompassing second
Detection Criteria:
1. Last 4 pivots form High-Low-High-Low sequence
2. Fourth pivot (first high) > Second pivot (second high)
3. Third pivot (first low) < Last pivot (second low)
LHLH Pattern (Bearish Inside Swing)
Condition: Low1 < Low2 AND High1 > High2
Sequence: Low → High → Low → High
Visual: Two overlapping boxes with first range encompassing second
Detection Criteria:
1. Last 4 pivots form Low-High-Low-High sequence
2. Fourth pivot (first low) < Second pivot (second low)
3. Third pivot (first high) > Last pivot (second high)
Visual Elements
Boxes
- Box 1: Spans from first pivot to last pivot (larger range)
- Box 2: Spans from third pivot to last pivot (smaller range)
- Overlap: The intersection of both boxes represents the inside swing zone
Extension Lines
- High 1 Line: Horizontal line at first high/low level
- High 2 Line: Horizontal line at second high/low level
- Low 1 Line: Horizontal line at first low/high level
- Low 2 Line: Horizontal line at second low/high level
Line Extension Behavior
- Historical Patterns: Lines extend until the next pattern starts
- Latest Pattern: Lines extend to the right edge of chart
- Dynamic Updates: All lines are redrawn on each bar for accuracy
Trading Applications
Support/Resistance Levels
Inside swing levels often act as:
- Dynamic support/resistance
- Breakout confirmation levels
- Reversal entry points
Pattern Interpretation
- HLHL Patterns: Potential bullish continuation or reversal
- LHLH Patterns: Potential bearish continuation or reversal
- Overlap Zone: Key area for price interaction
Entry Strategies
1. Breakout Strategy: Enter on break above/below inside swing levels
2. Reversal Strategy: Enter on bounce from inside swing levels
3. Range Trading: Trade between inside swing levels
Technical Implementation
Data Structures
type InsideSwing
int startBar // First pivot bar
int endBar // Last pivot bar
string patternType // "HLHL" or "LHLH"
float high1 // First high/low
float low1 // First low/high
float high2 // Second high/low
float low2 // Second low/high
box box1 // First box
box box2 // Second box
line high1Line // High 1 extension line
line high2Line // High 2 extension line
line low1Line // Low 1 extension line
line low2Line // Low 2 extension line
bool isLatest // Latest pattern flag
Memory Management
- Pattern Storage: Array-based storage with automatic cleanup
- Pivot Tracking: Maintains last 4 pivots for pattern detection
- Resource Cleanup: Automatically removes oldest patterns when limit exceeded
Performance Optimization
- Duplicate Prevention: Checks for existing patterns before creation
- Efficient Redraw: Only redraws lines when necessary
- Memory Limits: Configurable maximum pattern count
Usage Tips
Best Practices
1. Combine with Volume: Use volume confirmation for breakouts
2. Multiple Timeframes: Check higher timeframes for context
3. Risk Management: Set stops beyond inside swing levels
4. Pattern Validation: Wait for confirmation before entering
Common Scenarios
- Consolidation Breakouts: Inside swings often precede significant moves
- Reversal Zones: Failed breakouts at inside swing levels
- Trend Continuation: Inside swings in trending markets
Limitations
- Lagging Indicator: Patterns form after completion
- False Signals: Not all inside swings lead to significant moves
- Market Dependent: Effectiveness varies by market conditions
Customization Options
Visual Adjustments
- Modify colors for different market conditions
- Adjust line widths for visibility
- Enable/disable specific elements
Detection Sensitivity
- Increase pivot length for smoother patterns
- Decrease for more sensitive detection
- Balance between noise and signal
Display Management
- Control maximum pattern count
- Adjust cleanup frequency
- Manage memory usage
Conclusion
The Inside Swings indicator provides a systematic approach to identifying consolidation and potential reversal zones in price action. By visualizing overlapping pivot ranges
The indicator's strength lies in its ability to:
- Identify key price levels automatically
- Provide visual context for market structure
- Offer flexible customization options
- Maintain performance through efficient memory management
TrendPredator PROThe TrendPredator PRO
Stacey Burke, a seasoned trader and mentor, developed his trading system over the years, drawing insights from influential figures such as George Douglas Taylor, Tony Crabel, Steve Mauro, and Robert Schabacker. His popular system integrates select concepts from these experts into a consistent framework. While powerful, it remains highly discretionary, requiring significant real-time analysis, which can be challenging for novice traders.
The TrendPredator indicators support this approach by automating the essential analysis required to trade the system effectively and incorporating mechanical bias and a multi-timeframe concept. They provide value to traders by significantly reducing the time needed for session preparation, offering all relevant chart analysis and signals for live trading in real-time.
The PRO version offers an advanced pattern identification logic that highlights developing context as well as setups related to the constellation of the signals provided. It provides real-time interpretation of the multi-timeframe analysis table, following an extensive underlying logic with more than 150 different setup variations specifically developed for the system and indicator. These setups are constantly back- and forward-tested and updated according to the results. This version is tailored to traders primarily trading this system and following the related setups in detail.
The former TrendPredator ES version does not provide that option. It is significantly leaner and is designed for traders who want to use the multi-timeframe logic as additional confluence for their trading style. It is very well suited to support many other trading styles, including SMC and ICT.
The Multi-timeframe Master Pattern
Inspired by Taylor’s 3-day cycle and Steve Mauro’s work with “Beat the Market Maker,” Burke’s system views markets as cyclical, driven by the manipulative patterns of market makers. These patterns often trap traders at the extremes of moves above or below significant levels with peak formations, then reverse to utilize their liquidity, initiating the next phase. Breakouts away from these traps often lead to range expansions, as described by Tony Crabel and Robert Schabacker. After multiple consecutive breakouts, especially after the psychological number three, overextension might develop. A break in structure may then lead to reversals or pullbacks. The TrendPredator Indicator and the related multi-timeframe trading system are designed to track these cycles on the daily timeframe and provide signals and trade setups to navigate them.
Bias Logic and Multi-Timeframe Concept
The indicator covers the basic signals of Stacey Burke's system:
- First Red Day (FRD): Bearish break in structure, signalling weak longs in the market.
- First Green Day (FGD): Bullish break in structure signalling weak shorts in the markt.
- Three Days of Longs (3DL): Overextension signalling potential weak longs in the market.
- Three Days of Shorts (3DS): Overextension signalling potential weak shorts in the market.
- Inside Day (ID): Contraction, signalling potential impulsive reversal or range expansion move.
It enhances the original system by introducing:
Structured Bias Logic:
Tracks bias by following how price trades concerning the last previous candle high or low that was hit. For example if the high was hit, we are bullish above and bearish below.
- Bullish state: Breakout (BO), Fakeout Low (FOL)
- Bearish state: Breakdown (BD), Fakeout High (FOH)
Multi-Timeframe Perspective:
- Tracks all signals across H4, H8, D, W, and M timeframes, to look for alignment and follow trends and momentum in a mechanical way.
Developing Context:
- Identifies specific predefined context states based on the monthly, weekly and daily bias.
Developing Setups:
- Identifies specific predefined setups based on context and H8 bias as well as SB signals.
The indicator monitors the bias and signals of the system across all relevant timeframes and automates the related graphical chart analysis as well as context and setup zone identification. In addition to the master pattern, the system helps to identify the higher timeframe situation and follow the moves driven by other timeframe traders to then identify favourable context and setup situations for the trader.
Example: Full Bullish Cycle on the Daily Timeframe with Multi-Timeframe Signals
- The Trap/Peak Formation
The market breaks down from a previous day’s and maybe week’s low—potentially after multiple breakdowns—but fails to move lower and pulls back up to form a peak formation low and closes as a first green day.
MTF Signals: Bullish daily and weekly fakeout low; three consecutive breakdown days (1W Curr FOL, 1D Curr FOL, BO 3S).
Context: Reversal (REV)
Setup: Fakeout low continuation low of day (FOL Cont LOD)
- Pullback and Consolidation
The next day pulls further up after first green day signal, potentially consolidates inside the previous day’s range.
MTF Signals: Fakeout low and first green day closing as an inside day (1D Curr IS, Prev FOL, First G).
Context: Reversal continuation (REV Cont)
Setup: Previous fakeout low continuation low handing fruit (Prev FOL Cont LHF)
- Range Expansion/Trend
The following day breaks up through the previous day’s high, launching a range expansion away from the trap.
MTF Signals: Bullish daily breakout of an inside day (1D Curr BO, Prev IS).
Context: Uptrend healthy (UT)
Setup: Breakout continuation low hanging fruit (BO Cont LHF)
- Overextension
After multiple consecutive breakouts, the market reaches a state of overextension, signalling a possible reversal or pullback.
MTF Signals: Three days of breakout longs (1D Curr BO, Prev BO, BO 3L).
Context: Uptrend extended (UT)
- Reversal
After a breakout of previous days high that fails, price pulls away from the high showing a rollover of momentum across all timeframes and a potential short setup.
MTF Signals: Three days of breakout longs, daily fakeout high (1D 3L, FOH)
Context: Reversal countertrend (REV)
Setup: Fakeout high continuation high of day (FOH Cont HOD)
Note: This is only one possible illustrative scenario; there are many variations and combinations.
Example Chart: Full Bullish Cycle with Correlated Signals
Multi-Timeframe Signals examples:
Context and Setups examples:
Note: The signals shown along the move are manually added illustrations. The indicator shows these in realtime in the table at top and bottom right. This is only one possible scenario; there are many variations and combinations.
Due to the fractal nature of markets, this cycle can be observed across all timeframes. The strongest setups occur when there is multi-timeframe alignment. For example, a peak formation and potential reversal on the daily timeframe have higher probability and follow-through when they align with bearish signals on higher timeframes (e.g., weekly/monthly BD/FOH) and confirmation on lower timeframes (H4/H8 FOH/BD). With this perspective, the system enables the trader to follow the trend and momentum while identifying rollover points in a highly differentiated and precise way.
Using the Indicator for Trading
The automated analysis provided by the indicator can be used for thesis generation in preparation for a session as well as for live trading, leveraging the real-time updates as well as the context and setup indicated or alerted. It is recommended to customize the settings deeply, such as hiding the lower timeframes for thesis generation or the specific alert time window and settings to the specific trading schedule and playbook of the trader.
1. Context Assessment:
Evaluate alignment of higher timeframes (e.g., Month/Week, Week/Day). More alignment → Stronger setups.
- The context table offers an interpretation of the higher timeframe automatically. See below for further details.
2. Setup Identification:
Follow the bias of daily and H8 timeframes. A setup mostly requires alignment of these.
Setup Types:
- Trend Trade: Trade in alignment with the previous day’s trend.
Example: Price above the previous day’s high → Focus on long setups (dBO, H8 FOL) until overextension or reversal signs appear (H8 BO 3L, First R).
- Reversal Trade: Identify reversal setups when lower timeframes show rollovers after higher timeframe weakness.
Example: Price below the previous day’s high → Look for reversal signals at the current high of day (H8 FOH, BO 3L, First R).
- The setup table shows potential setups for the specific price zone in the table automatically. See below for further details.
3. Entry Confirmation:
Confirm entries based on H8 and H4 alignment, candle closes and lower timeframe fakeouts.
- H8 and H4 should always align for a final confirmation, meaning the breach lines should be both in the back of a potential trade setup.
- M15/ 5 candle close can be seen as acceptance beyond a level or within the setup zone.
- M15/5 FOH/ FOL signals lower timeframe traps potentially indicating further confirmation.
Example Chart Reversal Trade:
Context: REV (yellow), Reversal counter trend, Month in FOL with bearish First R, Week in BO but bearishly overextended with BO 3L, Day in Fakeout high reversing bearishly.
Setup: FOH Cont HOD (red), Day in Fakeout high after BO 3L overextension, confirmed by H8 FOH high of day, First R as further confluence. Two star quality and countertrend.
Entry: H4 BD, M15 close below followed by M15 FOH.
Detailed Features and Options
1. Context and Setup table
The Context and Setup Table is the core feature of the TrendPredator PRO indicator. It delivers real-time interpretation of the multi-timeframe analysis based on an extensive underlying logic table with over 150 variations, specifically developed for this system and indicator. This logic is continuously updated and optimized to ensure accuracy and performance.
1.1. Developing Context
States for developing higher timeframe context are determined based on signals from the monthly, weekly, and daily timeframes.
- Green and Red indicate alignment and potentially interesting developing setups.
- Yellow signals a mixed or conflicting bias, suggesting caution when taking trades.
The specific states are:
- UT (yellow): Uptrend extended
- UT (green): Uptrend healthy
- REV (yellow): Reversal day counter trend
- REV (green): Reversal day mixed trend
- REV Cont (green): Reversal continuation mixed trend
- REV Cont (yellow): Reversal continuation counter trend
- REV into UT (green): Reversal day into uptrend
- REV Cont into UT (green): Reversal continuation into uptrend
- UT Pullback (yellow): Counter uptrend breakdown day
- Conflicting (yellow): Conflicting signals
- Consolidating (yellow): Consolidating sideways
- Inside (yellow): Trading inside after an inside week
- DT Pullback (yellow): Counter downtrend breakout day
- REV Cont into DT (red): Reversal continuation into downtrend
- REV into DT (red): Reversal day into downtrend
- REV Cont (yellow): Reversal continuation counter trend
- REV Cont (red): Reversal continuation mixed trend
- REV (red): Reversal day mixed trend
- REV (yellow): Reversal day countertrend
- DT (red): Downtrend healthy
- DT (yellow): Downtrend extended
Example: Uptrend
The Uptrend Context (UT, green) indicates a healthy uptrend with all timeframes aligning bullishly. In this case, the monthly is in a Fakeout Low (FOL) and currently inside the range, while the weekly and daily are both in Breakout (BO) states. This context is favorable for developing long setups in the direction of the trend.
Example: Uptrend pullback
The Uptrend Pullback Context (UT Pullback, yellow) indicates a Breakdown (BD) on the daily timeframe against a higher timeframe uptrend. In this case, the monthly is in a Fakeout Low (FOL) and currently inside its range, the weekly is in Breakout (BO) and also currently inside, while the daily is in Breakdown (BD). This context reflects a conflicting situation—potentially signaling either an early reversal back into the uptrend or, if the breakdown extends, the beginning of a possible trend change.
Example: Reversal into Uptrend
The Reversal into Uptrend Context (REV into UT, green) indicates a lower timeframe reversal aligning with a higher timeframe uptrend. In this case, the monthly is in Breakout (BO), the weekly is in Breakout (BO) and currently inside its range, while the daily is showing a bullish Fakeout Low (FOL) reversal. This context is potentially very favorable for long setups, as it signals a strong continuation of the uptrend supported across multiple timeframes.
Example: Reversal
The Bearish Reversal Context indicates a lower timeframe rollover within an ongoing higher timeframe uptrend. In this case, the monthly remains in Breakout (BO), the weekly has shifted into a Fakeout High (FOH) after three weeks of breakout longs, and the daily is already in Breakdown (BD). This context suggests a potentially favorable developing short setup, as early signs of weakness appear across timeframes.
1.2. Developing Setup
The states for specific setups are based on the context and the signals from the daily timeframe and H8, indicating that price is in the zone of alignment. The setup description refers to the state of the daily timeframe, while the suffix relates to the H8 timeframe. For example, "prev FOH Cont LHF" means that the previous day is in FOH (Fakeout High) relative to yesterday's breakout level, currently trading inside, and we are in an H8 breakdown, indicating a potential LHF (Lower High Formation) short trade if the entry confirms. The suffix HOD means that H8 is in FOH or BO (Breakout).
The specific states are:
- REV HOD (red): Reversal high of day
- REV Cont LHF (red): Reversal continuation low hanging fruit
- BO Cont LHF (green): Breakout continuation low hanging fruit
- BO Cont LOD (green): Breakout continuation low of day
- FOH Cont HOD (red): Fakeout high continuation high of day
- FOH Cont LHF ((red): Fakeout high continuation low hanging fruit
- prev BD Cont HOD (red): Previous breakdown continuation high of day
- prev BD Cont LHF (red): Previous breakdown continuation low hanging fruit
- prev FOH Cont HOD (red): Previous fakeout high continuation high of day
- prev FOH Cont LHF (red): Previous fakeout high continuation low hanging fruit
- prev FOL Cont LOD (green): Previous fakeout low continuation low of day
- prev FOL Cont LHF (green): Previous fakeout low continuation low hanging fruit
- prev BO Cont LOD (green): Previous breakout continuation low of day
- prev BO Cont LHF (green): Previous breakout continuation low hanging fruit
- FOL Cont LHF (green): Fakeout low continuation low hanging fruit
- FOL Cont LOD (green): Fakeout low continuation low of day
- BD Cont LHF (red): BD continuation low hanging fruit
- BD Cont LOD (red): Breakdown continuation low of day
- REV Cont LHF (green): Reversal continuation low hanging fruit
- REV LOD (green): Reversal low of day
- Inside: Trading inside after an inside day
Type: Indicates the situation of the indicated setup concerning:
- Trend: Following higher timeframe trend
- Mixed: Mixed higher timeframe signals
- Counter: Against higher timeframe bias
Quality: Indicates the quality of the indicated setup according to the specified logic table
No star: Very low quality
* One star: Low quality
** Two star: Medium quality
*** Three star: High quality
Example: Breakout Continuation Trend Setup
This setup highlights a healthy uptrend where the month is in a breakout, the week is in a fakeout low, and the day is in a breakout after a first green day. As the H8 breaks out to the upside, a long setup zone is triggered, presenting a breakout continuation low-hanging fruit trade. This is a trend trade in an overextended situation on the H8, with an H8 3L, resulting in an overall quality rating of one star.
Example: Fakeout Low Continuation Trend Setup
This setup shows a reversal into uptrend, with the month in a breakout, the week in a breakout, and the day in a fakeout low after breaking down the previous day and now reversing back up. As H8 breaks out to the upside, a long setup zone is triggered, presenting a previous fakeout low continuation, low-hanging fruit trade. This is a medium-quality trend trade.
Example: Reversal Setup - Mixed Trend
This setup shows a reversal setup in line with the weekly trend, with the month in a fakeout low, the week in a fakeout high, and the day in a fakeout high after breaking out earlier in the day and now reversing back down. As H8 loses the previous breakout level after 3 breakouts (with H8 3L), a short setup zone is triggered, presenting a fakeout high continuation at the high of the day. This is a high-quality trade in a mixed trend situation.
Setup Alerts:
Alerts can be activated for setups freshly triggered on the chart within your trading window.
Detailed filter logic for setup alerts:
- Setup quality: 1-3 star
- Setup type: Counter, Mixed and Trend
- Setup category: e.g. Reversal Bearish, Breakout, Previous Fakeout High
- 1D BO and First signals: 3DS, 3DL, FRD, FGD, ID
Options:
- Alerts on/ off
- Alert time window (from/ to)
- Alert filter customization
Note: To activate alerts from a script in TradingView, some settings need to be adjusted. Open the "Create Alert" dialog and select the option "Any alert() function call" in the "Condition" section. Choose "TrendPredator PRO" to ensure that alerts trigger properly from the code. Alerts can be activated for entire watchlists or individual pairs. Once activated, the alerts run in the background and notify the user whenever a setup is freshly triggered according to the filter settings.
2. Multi-Timeframe Table
Provides a real-time view of system signals, including:
Current Timeframe (Curr): Bias states.
- Breakout (green BO): Bullish after breaking above the previous high.
- Fakeout High (red FOH): Bearish after breaking above the previous high but pulling back down.
- Breakdown (red BD): Bearish after breaking below the previous low.
- Fakeout Low (green FOL): Bullish after breaking below the previous low but pulling back up.
- Inside (IS): Price trading neutral inside the previous range, taking the previous bias (color indicates the previous bias).
Previous Timeframe (Prev): Tracks last candle bias state and transitions dynamically.
- Bias for last candle: BO, FOH, BD, FOL in respective colors.
- Inside bar (yellow IS): Indicated as standalone signal.
Note: Also previous timeframes get constantly updated in real time to track the bias state in relation to the level that was hit. This means a BO can still lose the level and become a FOH, and vice versa, and a BD can still become a FOL, and vice versa. This is critical to see for example if traders that are trapped in that timeframe with a FOH or FOL are released. An inside bar stays fixed, though, since no level was hit in that timeframe.
Breakouts (BO): Breakout count 3 longs and 3 shorts.
- 3 Longs (red 3L): Bearish after three breakouts without hitting a previous low.
- 3 Shorts (green 3S): Bullish after three breakdowns without hitting a previous high.
First Countertrend Close (First): Tracks First Red or Green Day.
- First Green (G): After two consecutive red closes.
- First Red (R): After two consecutive green closes.
Options: Customizable font size and label colors.
3. Historic Highs and Lows
Displays historic highs and lows per timeframe for added context, enabling users to track sequences over time.
Timeframes: H4, H8, D, W, M
Options: Customize for timeframes shown, number of historic candles per timeframe, colors, formats, and labels.
4. Previous High and Low Extensions
Displays extended previous levels (high, low, and close) for each timeframe to assess how price trades relative to these levels.
H4: P4H, P4L, P4C
H8: P8H, P8L, P8C
Daily: PDH, PDL, PDC
Weekly: PWH, PWL, PWC
Monthly: PMH, PML, PMC
Options: Fully customizable for timeframes shown, colors, formats, and labels.
5. Breach Lines
Tracks live market reactions (e.g., breakouts or fakeouts) per timeframe for the last previous high or low that was hit, highlighting these levels originating at the breached candle to indicate bias (color-coded).
Red: Bearish below
Green: Bullish above
H4: 4FOL, 4FOH, 4BO, 4BD
H8: 8FOL, 8FOH, 8BO, 8BD
D: dFOL, dFOH, dBO, dBD
W: wFOL, wFOH, wBO, wBD
M: mFOL, mFOH, mBO, mBD
Options: Fully customizable for timeframes shown, colors, formats, and labels.
Overall Options:
Toggle single feature groups on/off.
Customize H8 open/close time as an offset to UTC to be provider independent.
Colour settings con be adjusted for dark or bright backgrounds.
Higher Timeframe Use Case Examples
Example Use Case: Weekly Template Analysis
The Weekly Template is a core concept in Stacey Burke’s trading style. The analysis is conducted on the daily timeframe, focusing on the higher timeframe bias and identifying overextended conditions within the week—such as multiple breakouts and peak formations signaling potential reversals.
In this example, the candles are colored by the TrendPredator FO indicator, which highlights the state of individual candles. This allows for precise evaluation of both the trend state and the developing weekly template. It is a valuable tool for thesis generation before a trading session and for backtesting purposes.
Example Use Case: High Timeframe 5-Star Setup Analysis (Stacey Burke "ain't coming back" ACB Template)
This analysis identifies high-probability trade opportunities when daily breakout or breakdown closes occur near key monthly levels mid-week, signaling overextensions and potentially large parabolic moves. The key signal to look for is a breakout or breakdown close on a Wednesday. This is useful for thesis generation before a session and also for backtesting.
In this example, the TrendPredator FO indicator colors the candles to highlight individual candle states, particularly those that close in breakout or breakdown. Additionally, an indicator is shown on the chart shading every Wednesday, making it easier to visually identify the signals.
5 Star Alerts:
Alerts can be activated for this potential 5-Star setup constellation. The alert is triggered when there is a breakout or breakdown close on a Wednesday.
Further recommendations:
- Higher timeframe context: TPO or volume profile indicators can be used to gain an even better overview.
- Late session trading: Entries later in the session, such as during the 3rd hour of the NY session, offer better analysis and follow-through on setups.
- Entry confirmation: Momentum indicators like VWAP, Supertrend, or EMA are helpful for increasing precision. Additionally, tracking lower timeframe fakeouts can provide powerful confluence. To track those the TrendPredator Fakeout Highlighter (FO), that has been specifically developed for this can be of great help:
Limitations:
Data availability using TradingView has its limitations. The indicator leverages only the real-time data available for the specific timeframe being used. This means it cannot access data from timeframes lower than the one displayed on the chart. For example, if you are on a daily chart, it cannot use H8 data. Additionally, on very low timeframes, the historical availability of data might be limited, making higher timeframe signals unreliable.
To address this, the indicator automatically hides the affected columns in these specific situations, preventing false signals.
Disclaimer
This indicator is for educational purposes only and does not guarantee profits.
None of the information provided shall be considered financial advice.
The indicator does not provide final buy or sell signals but highlights zones for potential setups.
Users are fully responsible for their trading decisions and outcomes.
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
Smart Market Structure and Swing Points, version 1.0Smart Market Structure and Swing Points, Version 1.0
Overview
The Smart Market Structure and Swing Points script is designed to provide advanced insights into market structure and key swing points. This script helps identify important highs and lows, trend direction changes (structure breaks), and swing points, enhancing decision-making for both trend-following and reversal strategies. See below for detail presentation and why it has unique features.
Unique Features of the New Script
Market Structure Identification : Analyzes and marks key highs and lows to determine market structure, including higher highs, lower highs, higher lows, and lower lows.
Customizable Detection Length : Allows users to set the length for detecting highs and lows, providing flexibility to adapt to different market conditions and timeframes. Default value is 5 bars, but can be changed if needed.
Visual Signal Indicators (Labels) : Plots labels on the chart to indicate higher highs (HH), lower highs (LH), higher lows (HL), and lower lows (LL), along with corresponding RSI values, offering clear visual cues for market structure analysis. The indication of RSI values directly on high and low points enables to better judge whether the points are strong references (extreme RSI values) or weak references (middle RSI values)
Dynamic Trend Lines : Draws solid and dotted lines to connect significant highs and lows, visually representing the current trend direction and potential trend changes. Dashed lines indicates structure breaks.
Swing High and Swing Low Detection : Identifies and marks the most recent swing highs and swing lows, helping traders spot potential reversal points and key levels for setting stop losses or take profit targets .
Originality and Usefulness
This script combines market structure, trend breaks and RSI to provide a more robust view of market dynamic by indicating the strength or weakness of swing points , in that way the script is unique.
Signal Description
The script includes various signal features that highlight potential trading opportunities based on market structure:
Higher Highs (HH) and Higher Lows (HL) : These labels are plotted when new highs or lows are formed, indicating a continuation of an uptrend. The labels are positioned with consideration of the Average True Range (ATR) for better visibility.
Lower Highs (LH) and Lower Lows (LL) : These labels are plotted when new highs or lows are formed, indicating a continuation of a downtrend. The labels include RSI values to provide additional information on the strength or weakness of the points.
Trend Direction Change : Dotted lines are drawn to indicate potential trend direction changes when the script detects significant shifts in market structure.
Swing Highs and Swing Lows : These are identified based on a customizable swing length, marking recent significant highs and lows to highlight potential reversal points.
These signals help identify high-probability turning points and confirm trend direction by ensuring that the market structure aligns with the trading strategy.
Detailed Description
Input Variables
Length for High/Low Detection (`length`) : Defines the range to check for highs and lows. Default is 5.
RSI Length (`rsilength`) : The number of periods to calculate the RSI. Default is 14.
Functionality
Market Structure Calculation : The script determines the highest high and lowest low within the specified range to identify key points in market structure.
```pine
h = ta.highest(high, length * 2 + 1)
l = ta.lowest(low, length * 2 + 1)
```
Directional Logic : Variables and functions manage the state of the indicator, updating highs and lows based on the current trend direction.
```pine
var bool dirUp = false
var float lastLow = high * 100
var float lastHigh = 0.0
// Additional variables for tracking state
```
Drawing Lines and Labels : Functions draw lines and labels on the chart to visualize market structure and trend changes.
```pine
f_drawLine() =>
_li_color = dirUp ? color.red : color.lime
line.new(x1=timeHigh - length, y1=lastHigh, x2=timeLow - length, y2=lastLow, color=_li_color, width=3, style=line.style_solid, xloc=xloc.bar_index)
f_drawLastLine() =>
_li_color = dirUp ? color.blue : color.blue
if timeHigh > timeLow
line.new(x1=timeHigh - length, y1=lastHigh, x2=bar_index, y2=low, color=_li_color, width=2, style=line.style_dotted, xloc=xloc.bar_index)
else
line.new(x1=timeLow - length, y1=lastLow, x2=bar_index, y2=high, color=_li_color, width=2, style=line.style_dotted, xloc=xloc.bar_index)
```
Updating Highs and Lows : The main logic updates highs and lows based on the current trend direction, adding labels for new higher highs, lower highs, higher lows, and lower lows.
```pine
if dirUp
if f_isMin(length)
lastLow := low
// Additional logic for updating lows and labels
if f_isMax(length) and high > lastLow
lastHigh := high
// Additional logic for updating highs and labels
dirUp := false
li := f_drawLine()
```
Swing Highs and Lows : The script identifies recent swing highs and swing lows based on a customizable swing length, drawing lines to mark these points.
```pine
swingLength = 3 * length
isSwingHigh = ta.highestbars(high, swingLength) == 0
isSwingLow = ta.lowestbars(low, swingLength) == 0
if (isSwingHigh)
if (na(highLine))
highLine := line.new(bar_index, high, bar_index, high, color=color.green, style=line.style_solid, width=1)
else
line.set_xy1(highLine, bar_index, high)
line.set_xy2(highLine, bar_index + swingLength, high)
if (isSwingLow)
if (na(lowLine))
lowLine := line.new(bar_index, low, bar_index, low, color=color.red, style=line.style_solid, width=1)
else
line.set_xy1(lowLine, bar_index, low)
line.set_xy2(lowLine, bar_index + swingLength, low)
```
How to Use
Configuring Inputs : Adjust the detection length and RSI length as needed. Modify the lookback periods to suit your trading strategy. The indicator is adaptable and can be used on any timeframe.
Interpreting the Indicator : Use the labels and lines to gauge market structure and trend direction. Look for higher highs, lower highs, higher lows, and lower lows to confirm market structure.
Signal Confirmation : Pay attention to the labels and lines that provide signals for potential trend changes and swing points. Use these signals to better time entries and exits.
This script provides a detailed view of market structure and swing points, helping make more informed decisions by considering key highs and lows, trend direction changes, and the strength or weakness of swing points.
MarketStructureLibrary "MarketStructure"
This library contains functions for identifying Lows and Highs in a rule-based way, and deriving useful information from them.
f_simpleLowHigh()
This function finds Local Lows and Highs, but NOT in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
It doesn't have to be "the" high, so don't be confused.
By the rules, Local Lows and Highs must alternate. In this function they do not, so I'm calling them Simple Lows and Highs.
Simple Highs and Lows, by the above definition, can be useful for entries and stops. Because I intend to use them for stops, I want them all, not just the ones that alternate in strict order.
@param - there are no parameters. The function uses the chart OHLC.
@returns boolean values for whether this bar confirms a Simple Low/High, and ints for the bar_index of that Low/High.
f_localLowHigh()
This function finds Local Lows and Highs, in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
By the rules, Local Lows and Highs must alternate, and in this function they do.
@param - there are no parameters. The function uses the chart OHLC.
@returns boolean values for whether this bar confirms a Local Low/High, and ints for the bar_index of that Low/High.
f_enhancedSimpleLowHigh()
This function finds Local Lows and Highs, but NOT in order. A Local High is any candle that has its Low taken out on close by a subsequent candle (and vice-versa for Local Lows).
The Local High does NOT have to be the candle with the highest High out of recent candles. It does NOT have to be a Williams High. It is not necessarily a swing high or a reversal or anything else.
By the rules, Local Lows and Highs must alternate. In this function they do not, so I'm calling them Simple Lows and Highs.
Simple Highs and Lows, by the above definition, can be useful for entries and stops. Because I intend to use them for trailing stops, I want them all, not just the ones that alternate in strict order.
The difference between this function and f_simpleLowHigh() is that it also tracks the lowest/highest recent level. This level can be useful for trailing stops.
In effect, these are like more "normal" highs and lows that you would pick by eye, but confirmed faster in many cases than by waiting for the low/high of that particular candle to be taken out on close,
because they are instead confirmed by ANY subsequent candle having its low/high exceeded. Hence, I call these Enhanced Simple Lows/Highs.
The levels are taken from the extreme highs/lows, but the bar indexes are given for the candles that were actually used to confirm the Low/High.
This is by design, because it might be misleading to label the extreme, since we didn't use that candle to confirm the Low/High..
@param - there are no parameters. The function uses the chart OHLC.
@returns - boolean values for whether this bar confirms an Enhanced Simple Low/High
ints for the bar_index of that Low/High
floats for the values of the recent high/low levels
floats for the trailing high/low levels (for debug/post-processing)
bools for market structure bias
f_trueLowHigh()
This function finds True Lows and Highs.
A True High is the candle with the highest recent high, which then has its low taken out on close by a subsequent candle (and vice-versa for True Lows).
The difference between this and an Enhanced High is that confirmation requires not just any Simple High, but confirmation of the very candle that has the highest high.
Because of this, confirmation is often later, and multiple Simple Highs and Lows can develop within ranges formed by a single big candle without any of them being confirmed. This is by design.
A True High looks like the intuitive "real high" when you look at the chart. True Lows and Highs must alternate.
@param - there are no parameters. The function uses the chart OHLC.
@returns - boolean values for whether this bar confirms an Enhanced Simple Low/High
ints for the bar_index of that Low/High
floats for the values of the recent high/low levels
floats for the trailing high/low levels (for debug/post-processing)
bools for market structure bias
TR_HighLow_LibLibrary "TR_HighLow_Lib"
TODO: add library description here
ShowLabel(_Text, _X, _Y, _Style, _Size, _Yloc, _Color)
TODO: Function to display labels
Parameters:
_Text : TODO: text (series string) Label text.
_X : TODO: x (series int) Bar index.
_Y : TODO: y (series int/float) Price of the label position.
_Style : TODO: style (series string) Label style.
_Size : TODO: size (series string) Label size.
_Yloc : TODO: yloc (series string) Possible values are yloc.price, yloc.abovebar, yloc.belowbar.
_Color : TODO: color (series color) Color of the label border and arrow
Returns: TODO: No return values
GetColor(_Index)
TODO: Function to take out 12 colors in order
Parameters:
_Index : TODO: color number.
Returns: TODO: color code
Tbl_position(_Pos)
TODO: Table display position function
Parameters:
_Pos : TODO: position.
Returns: TODO: Table position
DeleteLine()
TODO: Delete Line
Parameters:
: TODO: No parameter
Returns: TODO: No return value
DeleteLabel()
TODO: Delete Label
Parameters:
: TODO: No parameter
Returns: TODO: No return value
ZigZag(_a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo, _Histories, _Provisional_PHiLo, _Provisional_IHiLo, _Color1, _Width1, _Color2, _Width2, _ShowLabel, _ShowHighLowBar, _HighLowBarWidth, _HighLow_LabelSize)
TODO: Draw a zig-zag line.
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag array sequence 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
_Histories : TODO: Array size (High-Low length)
_Provisional_PHiLo : TODO: Provisional High-Low Price
_Provisional_IHiLo : TODO: Provisional High-Low INDEX
_Color1 : TODO: Normal High-Low color
_Width1 : TODO: Normal High-Low width
_Color2 : TODO: Provisional High-Low color
_Width2 : TODO: Provisional High-Low width
_ShowLabel : TODO: Label display flag True: Displayed False: Not displayed
_ShowHighLowBar : TODO: High-Low bar display flag True:Show False:Hide
_HighLowBarWidth : TODO: High-Low bar width
_HighLow_LabelSize : TODO: Label Size
Returns: TODO: No return value
TrendLine(_a_PHiLo, _a_IHiLo, _Histories, _MultiLine, _StartWidth, _EndWidth, _IncreWidth, _StartTrans, _EndTrans, _IncreTrans, _ColorMode, _Color1_1, _Color1_2, _Color2_1, _Color2_2, _Top_High, _Top_Low, _Bottom_High, _Bottom_Low)
TODO: Draw a Trend Line
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_Histories : TODO: Array size (High-Low length)
_MultiLine : TODO: Draw a multiple Line.
_StartWidth : TODO: Line width start value
_EndWidth : TODO: Line width end value
_IncreWidth : TODO: Line width increment value
_StartTrans : TODO: Transparent rate start value
_EndTrans : TODO: Transparent rate finally
_IncreTrans : TODO: Transparent rate increase value
_ColorMode : TODO: 0:Nomal 1:Gradation
_Color1_1 : TODO: Gradation Color 1_1
_Color1_2 : TODO: Gradation Color 1_2
_Color2_1 : TODO: Gradation Color 2_1
_Color2_2 : TODO: Gradation Color 2_2
_Top_High : TODO: _Top_High Value for Gradation
_Top_Low : TODO: _Top_Low Value for Gradation
_Bottom_High : TODO: _Bottom_High Value for Gradation
_Bottom_Low : TODO: _Bottom_Low Value for Gradation
Returns: TODO: No return value
Fibonacci(_a_Fibonacci, _a_PHiLo, _Provisional_PHiLo, _Index, _FrontMargin, _BackMargin)
TODO: Draw a Fibonacci line
Parameters:
_a_Fibonacci : TODO: Fibonacci Percentage Array
_a_PHiLo : TODO: High-Low price array
_Provisional_PHiLo : TODO: Provisional High-Low price (when _Index is 0)
_Index : TODO: Where to draw the Fibonacci line
_FrontMargin : TODO: Fibonacci line front-margin
_BackMargin : TODO: Fibonacci line back-margin
Returns: TODO: No return value
Fibonacci(_a_Fibonacci, _a_PHiLo, _Provisional_PHiLo, _Index1, _FrontMargin1, _BackMargin1, _Transparent1, _Index2, _FrontMargin2, _BackMargin2, _Transparent2)
TODO: Draw a Fibonacci line
Parameters:
_a_Fibonacci : TODO: Fibonacci Percentage Array
_a_PHiLo : TODO: High-Low price array
_Provisional_PHiLo : TODO: Provisional High-Low price (when _Index is 0)
_Index1 : TODO: Where to draw the Fibonacci line 1
_FrontMargin1 : TODO: Fibonacci line front-margin 1
_BackMargin1 : TODO: Fibonacci line back-margin 1
_Transparent1 : TODO: Transparent rate 1
_Index2 : TODO: Where to draw the Fibonacci line 2
_FrontMargin2 : TODO: Fibonacci line front-margin 2
_BackMargin2 : TODO: Fibonacci line back-margin 2
_Transparent2 : TODO: Transparent rate 2
Returns: TODO: No return value
High_Low_Judgment(_Length, _Extension, _Difference)
TODO: Judges High-Low
Parameters:
_Length : TODO: High-Low Confirmation Length
_Extension : TODO: Length of extension when the difference did not open
_Difference : TODO: Difference size
Returns: TODO: _HiLo=High-Low flag 0:Neither high nor low、1:High、2:Low、3:High-Low
_PHi=high price、_PLo=low price、_IHi=High Price Index、_ILo=Low Price Index、
_Cnt=count、_ECnt=Extension count、
_DiffHi=Difference from Start(High)、_DiffLo=Difference from Start(Low)、
_StartHi=Start value(High)、_StartLo=Start value(Low)
High_Low_Data_AddedAndUpdated(_HiLo, _Histories, _PHi, _PLo, _IHi, _ILo, _DiffHi, _DiffLo, _a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo)
TODO: Adds and updates High-Low related arrays from given parameters
Parameters:
_HiLo : TODO: High-Low flag
_Histories : TODO: Array size (High-Low length)
_PHi : TODO: Price Hi
_PLo : TODO: Price Lo
_IHi : TODO: Index Hi
_ILo : TODO: Index Lo
_DiffHi : TODO: Difference in High
_DiffLo : TODO: Difference in Low
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag array 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
Returns: TODO: _PHiLo price array、_IHiLo indexed array、_FHiLo flag array、_DHiLo price-matching array、
Provisional_PHiLo Provisional price、Provisional_IHiLo 暫定インデックス
High_Low(_a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo, _a_Fibonacci, _Length, _Extension, _Difference, _Histories, _ShowZigZag, _ZigZagColor1, _ZigZagWidth1, _ZigZagColor2, _ZigZagWidth2, _ShowZigZagLabel, _ShowHighLowBar, _ShowTrendLine, _TrendMultiLine, _TrendStartWidth, _TrendEndWidth, _TrendIncreWidth, _TrendStartTrans, _TrendEndTrans, _TrendIncreTrans, _TrendColorMode, _TrendColor1_1, _TrendColor1_2, _TrendColor2_1, _TrendColor2_2, _ShowFibonacci1, _FibIndex1, _FibFrontMargin1, _FibBackMargin1, _FibTransparent1, _ShowFibonacci2, _FibIndex2, _FibFrontMargin2, _FibBackMargin2, _FibTransparent2, _ShowInfoTable1, _TablePosition1, _ShowInfoTable2, _TablePosition2)
TODO: Draw the contents of the High-Low array.
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag sequence 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
_a_Fibonacci : TODO: Fibonacci Gnar Matching
_Length : TODO: Length of confirmation
_Extension : TODO: Extension Length of extension when the difference did not open
_Difference : TODO: Difference size
_Histories : TODO: High-Low Length
_ShowZigZag : TODO: ZigZag Display
_ZigZagColor1 : TODO: Colors of ZigZag1
_ZigZagWidth1 : TODO: Width of ZigZag1
_ZigZagColor2 : TODO: Colors of ZigZag2
_ZigZagWidth2 : TODO: Width of ZigZag2
_ShowZigZagLabel : TODO: ZigZagLabel Display
_ShowHighLowBar : TODO: High-Low Bar Display
_ShowTrendLine : TODO: Trend Line Display
_TrendMultiLine : TODO: Trend Multi Line Display
_TrendStartWidth : TODO: Line width start value
_TrendEndWidth : TODO: Line width end value
_TrendIncreWidth : TODO: Line width increment value
_TrendStartTrans : TODO: Starting transmittance value
_TrendEndTrans : TODO: Transmittance End Value
_TrendIncreTrans : TODO: Increased transmittance value
_TrendColorMode : TODO: color mode
_TrendColor1_1 : TODO: Trend Color 1_1
_TrendColor1_2 : TODO: Trend Color 1_2
_TrendColor2_1 : TODO: Trend Color 2_1
_TrendColor2_2 : TODO: Trend Color 2_2
_ShowFibonacci1 : TODO: Fibonacci1 Display
_FibIndex1 : TODO: Fibonacci1 Index No.
_FibFrontMargin1 : TODO: Fibonacci1 Front margin
_FibBackMargin1 : TODO: Fibonacci1 Back Margin
_FibTransparent1 : TODO: Fibonacci1 Transmittance
_ShowFibonacci2 : TODO: Fibonacci2 Display
_FibIndex2 : TODO: Fibonacci2 Index No.
_FibFrontMargin2 : TODO: Fibonacci2 Front margin
_FibBackMargin2 : TODO: Fibonacci2 Back Margin
_FibTransparent2 : TODO: Fibonacci2 Transmittance
_ShowInfoTable1 : TODO: InfoTable1 Display
_TablePosition1 : TODO: InfoTable1 position
_ShowInfoTable2 : TODO: InfoTable2 Display
_TablePosition2 : TODO: InfoTable2 position
Returns: TODO: 無し
TR_HighLowLibrary "TR_HighLow"
TODO: add library description here
ShowLabel(_Text, _X, _Y, _Style, _Size, _Yloc, _Color)
TODO: Function to display labels
Parameters:
_Text : TODO: text (series string) Label text.
_X : TODO: x (series int) Bar index.
_Y : TODO: y (series int/float) Price of the label position.
_Style : TODO: style (series string) Label style.
_Size : TODO: size (series string) Label size.
_Yloc : TODO: yloc (series string) Possible values are yloc.price, yloc.abovebar, yloc.belowbar.
_Color : TODO: color (series color) Color of the label border and arrow
Returns: TODO: No return values
GetColor(_Index)
TODO: Function to take out 12 colors in order
Parameters:
_Index : TODO: color number.
Returns: TODO: color code
Tbl_position(_Pos)
TODO: Table display position function
Parameters:
_Pos : TODO: position.
Returns: TODO: Table position
DeleteLine()
TODO: Delete Line
Parameters:
: TODO: No parameter
Returns: TODO: No return value
DeleteLabel()
TODO: Delete Label
Parameters:
: TODO: No parameter
Returns: TODO: No return value
ZigZag(_a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo, _Histories, _Provisional_PHiLo, _Provisional_IHiLo, _Color1, _Width1, _Color2, _Width2, _ShowLabel, _ShowHighLowBar, _HighLowBarWidth, _HighLow_LabelSize)
TODO: Draw a zig-zag line.
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag array sequence 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
_Histories : TODO: Array size (High-Low length)
_Provisional_PHiLo : TODO: Provisional High-Low Price
_Provisional_IHiLo : TODO: Provisional High-Low INDEX
_Color1 : TODO: Normal High-Low color
_Width1 : TODO: Normal High-Low width
_Color2 : TODO: Provisional High-Low color
_Width2 : TODO: Provisional High-Low width
_ShowLabel : TODO: Label display flag True: Displayed False: Not displayed
_ShowHighLowBar : TODO: High-Low bar display flag True:Show False:Hide
_HighLowBarWidth : TODO: High-Low bar width
_HighLow_LabelSize : TODO: Label Size
Returns: TODO: No return value
TrendLine(_a_PHiLo, _a_IHiLo, _Histories, _MultiLine, _StartWidth, _EndWidth, _IncreWidth, _StartTrans, _EndTrans, _IncreTrans, _ColorMode, _Color1_1, _Color1_2, _Color2_1, _Color2_2, _Top_High, _Top_Low, _Bottom_High, _Bottom_Low)
TODO: Draw a Trend Line
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_Histories : TODO: Array size (High-Low length)
_MultiLine : TODO: Draw a multiple Line.
_StartWidth : TODO: Line width start value
_EndWidth : TODO: Line width end value
_IncreWidth : TODO: Line width increment value
_StartTrans : TODO: Transparent rate start value
_EndTrans : TODO: Transparent rate finally
_IncreTrans : TODO: Transparent rate increase value
_ColorMode : TODO: 0:Nomal 1:Gradation
_Color1_1 : TODO: Gradation Color 1_1
_Color1_2 : TODO: Gradation Color 1_2
_Color2_1 : TODO: Gradation Color 2_1
_Color2_2 : TODO: Gradation Color 2_2
_Top_High : TODO: _Top_High Value for Gradation
_Top_Low : TODO: _Top_Low Value for Gradation
_Bottom_High : TODO: _Bottom_High Value for Gradation
_Bottom_Low : TODO: _Bottom_Low Value for Gradation
Returns: TODO: No return value
Fibonacci(_a_Fibonacci, _a_PHiLo, _Provisional_PHiLo, _Index, _FrontMargin, _BackMargin)
TODO: Draw a Fibonacci line
Parameters:
_a_Fibonacci : TODO: Fibonacci Percentage Array
_a_PHiLo : TODO: High-Low price array
_Provisional_PHiLo : TODO: Provisional High-Low price (when _Index is 0)
_Index : TODO: Where to draw the Fibonacci line
_FrontMargin : TODO: Fibonacci line front-margin
_BackMargin : TODO: Fibonacci line back-margin
Returns: TODO: No return value
Fibonacci(_a_Fibonacci, _a_PHiLo, _Provisional_PHiLo, _Index1, _FrontMargin1, _BackMargin1, _Transparent1, _Index2, _FrontMargin2, _BackMargin2, _Transparent2)
TODO: Draw a Fibonacci line
Parameters:
_a_Fibonacci : TODO: Fibonacci Percentage Array
_a_PHiLo : TODO: High-Low price array
_Provisional_PHiLo : TODO: Provisional High-Low price (when _Index is 0)
_Index1 : TODO: Where to draw the Fibonacci line 1
_FrontMargin1 : TODO: Fibonacci line front-margin 1
_BackMargin1 : TODO: Fibonacci line back-margin 1
_Transparent1 : TODO: Transparent rate 1
_Index2 : TODO: Where to draw the Fibonacci line 2
_FrontMargin2 : TODO: Fibonacci line front-margin 2
_BackMargin2 : TODO: Fibonacci line back-margin 2
_Transparent2 : TODO: Transparent rate 2
Returns: TODO: No return value
High_Low_Judgment(_Length, _Extension, _Difference)
TODO: Judges High-Low
Parameters:
_Length : TODO: High-Low Confirmation Length
_Extension : TODO: Length of extension when the difference did not open
_Difference : TODO: Difference size
Returns: TODO: _HiLo=High-Low flag 0:Neither high nor low、1:High、2:Low、3:High-Low
_PHi=high price、_PLo=low price、_IHi=High Price Index、_ILo=Low Price Index、
_Cnt=count、_ECnt=Extension count、
_DiffHi=Difference from Start(High)、_DiffLo=Difference from Start(Low)、
_StartHi=Start value(High)、_StartLo=Start value(Low)
High_Low_Data_AddedAndUpdated(_HiLo, _Histories, _PHi, _PLo, _IHi, _ILo, _DiffHi, _DiffLo, _a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo)
TODO: Adds and updates High-Low related arrays from given parameters
Parameters:
_HiLo : TODO: High-Low flag
_Histories : TODO: Array size (High-Low length)
_PHi : TODO: Price Hi
_PLo : TODO: Price Lo
_IHi : TODO: Index Hi
_ILo : TODO: Index Lo
_DiffHi : TODO: Difference in High
_DiffLo : TODO: Difference in Low
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag array 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
Returns: TODO: _PHiLo price array、_IHiLo indexed array、_FHiLo flag array、_DHiLo price-matching array、
Provisional_PHiLo Provisional price、Provisional_IHiLo 暫定インデックス
High_Low(_a_PHiLo, _a_IHiLo, _a_FHiLo, _a_DHiLo, _a_Fibonacci, _Length, _Extension, _Difference, _Histories, _ShowZigZag, _ZigZagColor1, _ZigZagWidth1, _ZigZagColor2, _ZigZagWidth2, _ShowZigZagLabel, _ShowHighLowBar, _ShowTrendLine, _TrendMultiLine, _TrendStartWidth, _TrendEndWidth, _TrendIncreWidth, _TrendStartTrans, _TrendEndTrans, _TrendIncreTrans, _TrendColorMode, _TrendColor1_1, _TrendColor1_2, _TrendColor2_1, _TrendColor2_2, _ShowFibonacci1, _FibIndex1, _FibFrontMargin1, _FibBackMargin1, _FibTransparent1, _ShowFibonacci2, _FibIndex2, _FibFrontMargin2, _FibBackMargin2, _FibTransparent2, _ShowInfoTable1, _TablePosition1, _ShowInfoTable2, _TablePosition2)
TODO: Draw the contents of the High-Low array.
Parameters:
_a_PHiLo : TODO: High-Low price array
_a_IHiLo : TODO: High-Low INDEX array
_a_FHiLo : TODO: High-Low flag sequence 1:High 2:Low
_a_DHiLo : TODO: High-Low Price Differential Array
_a_Fibonacci : TODO: Fibonacci Gnar Matching
_Length : TODO: Length of confirmation
_Extension : TODO: Extension Length of extension when the difference did not open
_Difference : TODO: Difference size
_Histories : TODO: High-Low Length
_ShowZigZag : TODO: ZigZag Display
_ZigZagColor1 : TODO: Colors of ZigZag1
_ZigZagWidth1 : TODO: Width of ZigZag1
_ZigZagColor2 : TODO: Colors of ZigZag2
_ZigZagWidth2 : TODO: Width of ZigZag2
_ShowZigZagLabel : TODO: ZigZagLabel Display
_ShowHighLowBar : TODO: High-Low Bar Display
_ShowTrendLine : TODO: Trend Line Display
_TrendMultiLine : TODO: Trend Multi Line Display
_TrendStartWidth : TODO: Line width start value
_TrendEndWidth : TODO: Line width end value
_TrendIncreWidth : TODO: Line width increment value
_TrendStartTrans : TODO: Starting transmittance value
_TrendEndTrans : TODO: Transmittance End Value
_TrendIncreTrans : TODO: Increased transmittance value
_TrendColorMode : TODO: color mode
_TrendColor1_1 : TODO: Trend Color 1_1
_TrendColor1_2 : TODO: Trend Color 1_2
_TrendColor2_1 : TODO: Trend Color 2_1
_TrendColor2_2 : TODO: Trend Color 2_2
_ShowFibonacci1 : TODO: Fibonacci1 Display
_FibIndex1 : TODO: Fibonacci1 Index No.
_FibFrontMargin1 : TODO: Fibonacci1 Front margin
_FibBackMargin1 : TODO: Fibonacci1 Back Margin
_FibTransparent1 : TODO: Fibonacci1 Transmittance
_ShowFibonacci2 : TODO: Fibonacci2 Display
_FibIndex2 : TODO: Fibonacci2 Index No.
_FibFrontMargin2 : TODO: Fibonacci2 Front margin
_FibBackMargin2 : TODO: Fibonacci2 Back Margin
_FibTransparent2 : TODO: Fibonacci2 Transmittance
_ShowInfoTable1 : TODO: InfoTable1 Display
_TablePosition1 : TODO: InfoTable1 position
_ShowInfoTable2 : TODO: InfoTable2 Display
_TablePosition2 : TODO: InfoTable2 position
Returns: TODO: 無し
QMF- Market Structure & Signal Suite [BullByte]QUANTUM MOMENTUM FUSION - Market Structure and Signal Suite
OVERVIEW
Quantum Momentum Fusion is a comprehensive market analysis framework built around a multi-dimensional momentum oscillator. This indicator was designed to give traders a complete analytical workspace in a single tool, combining momentum measurement, market structure identification, trendline analysis, divergence detection, and multi-timeframe context into one unified system.
The core philosophy behind QMF is that successful trading decisions come from understanding multiple aspects of market behavior simultaneously, not from relying on any single indicator or signal. The oscillator serves as the analytical foundation, and every other component builds upon it to create a complete picture of current market conditions.
This description will walk through each component of the indicator, explaining what it measures, why that information matters, and how to interpret what you see on the chart. Whether you are an experienced trader familiar with oscillator analysis or newer to technical indicators, each section aims to make the concepts accessible and practical.
THE QUANTUM ENGINE: UNDERSTANDING THE CORE OSCILLATOR (why its original and not a mashup)
At the heart of this indicator is the Quantum Momentum Fusion oscillator, displayed in its own pane below the price chart. Unlike traditional oscillators that measure a single aspect of price behavior, the QMF oscillator synthesizes four distinct market dimensions into one unified reading.
WHAT IS AN OSCILLATOR
For those less familiar with the term, an oscillator is a technical indicator that fluctuates between defined boundaries, typically showing whether an asset is experiencing strong buying pressure, strong selling pressure, or neutral conditions. The QMF oscillator moves between 0 and 100, with 50 representing the neutral midpoint.
When the oscillator is high (above 70), it suggests the market has experienced significant upward momentum and may be approaching exhaustion. When low (below 30), it suggests the market has experienced significant downward momentum and may be due for a bounce. The space between these extremes represents normal market fluctuation.
THE FOUR DIMENSIONS
What makes the QMF oscillator different from standard momentum indicators is that it combines four separate measurements into its calculation. Each dimension captures a different aspect of market behavior:
VELOCITY DIMENSION
This measures how quickly momentum itself is changing. Think of it like acceleration in a car. Knowing the car is moving forward (direction) is useful, but knowing whether the driver is pressing the accelerator or the brake (acceleration) tells you what is likely to happen next. The velocity dimension calculates the rate of change of the rate of change, providing early warning when momentum is about to shift direction. In practical terms, this can show momentum weakening before price actually reverses.
Why it matters: Price can continue in one direction for a while even after the underlying momentum starts to fade. By measuring acceleration, you can identify potential turning points earlier than with simple momentum indicators.
How it appears: This dimension is calculated internally and combined with the others. You do not see it separately, but its effect shows in the oscillator responding earlier to momentum shifts.
VOLUME DIMENSION
This measures price movement weighted by trading volume. A price move accompanied by high volume has different significance than the same price move on low volume. High volume suggests conviction and participation from larger traders. Low volume suggests the move may lack follow-through.
The volume dimension multiplies price change by a volume ratio (current volume compared to average volume), giving greater weight to moves that have volume confirmation behind them.
Why it matters: Volume often precedes price. Strong volume on a move suggests institutional participation and increases the probability that the move will continue. Weak volume on a move suggests it may be easily reversed.
How it appears: Moves with strong volume conviction will push the oscillator more definitively, while low-volume moves will have muted effect on the reading.
VOLATILITY DIMENSION
This normalizes price movement against the current volatility environment. Markets go through periods of high volatility (large price swings) and low volatility (small price swings). A 1% move during a low volatility period is more significant than a 1% move during a high volatility period.
The volatility dimension divides price change by Average True Range (ATR), which measures typical price range. This tells you whether current movement is significant relative to what is normal for this market right now.
Why it matters: Without volatility normalization, the oscillator would react the same way to all price moves regardless of context. By adjusting for volatility, the oscillator identifies moves that are genuinely significant versus normal noise within the current regime.
How it appears: During quiet markets, smaller price moves can still register as significant if they exceed normal volatility. During volatile markets, the oscillator will not overreact to moves that are within expected range.
SESSION DIMENSION
This tracks where price is positioned relative to the session Volume Weighted Average Price (VWAP). VWAP represents the average price at which trading has occurred during the session, weighted by volume. Institutional traders often use VWAP as a benchmark for fair value.
When price is consistently above VWAP, it suggests buyers are willing to pay above average prices, indicating accumulation. When price is consistently below VWAP, it suggests sellers are accepting below average prices, indicating distribution.
Why it matters: VWAP positioning provides insight into whether institutional traders are likely accumulating or distributing. Price repeatedly returning to and bouncing from VWAP can indicate support, while price repeatedly failing at VWAP can indicate resistance.
How it appears: The session dimension contributes bullish readings when price maintains above VWAP and bearish readings when price maintains below VWAP.
ADAPTIVE WEIGHTING
The four dimensions are combined using configurable weights, and the system can operate in Adaptive Mode. When Adaptive Mode is enabled, the indicator automatically adjusts its sensitivity based on the current volatility regime. During high volatility periods, sensitivity increases to capture larger moves. During low volatility periods, sensitivity decreases to filter out noise.
This means the oscillator adapts to changing market conditions without requiring manual adjustment.
READING THE OSCILLATOR: DISPLAY MODES AND ZONES
The QMF oscillator can be displayed in four different visual formats. Each shows the same underlying data but presents it differently based on trader preference.
ENERGY CANDLES
This mode displays the oscillator as candlestick-style candles. Just as price candles show open, high, low, and close for price, energy candles show these values for the QMF oscillator.
Green candles indicate the oscillator closed higher than it opened (bullish momentum). Red candles indicate the oscillator closed lower than it opened (bearish momentum). The body size shows how much the oscillator moved during the period. Larger bodies indicate stronger momentum conviction.
This format is useful for traders who are comfortable reading candlestick patterns and want to apply similar visual analysis to the oscillator.
QMF LINE
This mode displays the oscillator as a traditional line chart with a signal line overlay. The main QMF line shows current momentum. The signal line is a smoothed average of the QMF that helps identify direction changes.
When the QMF line is above the signal line, momentum is bullish. When below, momentum is bearish. Crossovers between the two lines can indicate momentum shifts.
This format is familiar to traders who use indicators like MACD and prefer clean line-based visualization.
IMPULSE BARS
This mode displays the oscillator as a histogram centered on the 50 midline. Bars above 50 indicate bullish momentum, bars below 50 indicate bearish momentum. Bar height shows momentum strength.
The color intensity changes based on momentum direction. Bars that are increasing in the bullish direction show brighter color. Bars that are decreasing show muted color. This makes it easy to see momentum acceleration and deceleration at a glance.
HEIKIN FLOW
This mode applies Heikin-Ashi smoothing to the energy candles. Heikin-Ashi is a Japanese technique that averages price data to create smoother trends with fewer reversals.
The result is cleaner visual trends that are easier to follow, though with slightly more lag than standard energy candles. This format is useful for identifying sustained momentum moves without getting distracted by minor fluctuations.
OSCILLATOR ZONES
Regardless of display mode, the oscillator pane includes horizontal reference lines that define important zones:
Midline at 50: The neutral point. When the oscillator is above 50, overall momentum is bullish. When below 50, overall momentum is bearish.
Overbought level at 70: When the oscillator crosses above this level, the market is showing strong bullish momentum. However, this also means prices have risen significantly and bearish reversal probability increases the longer the oscillator stays elevated.
Oversold level at 30: When the oscillator crosses below this level, the market is showing strong bearish momentum. However, this also means prices have fallen significantly and bullish reversal probability increases.
Extreme overbought at 85: Maximum bullish exhaustion. At this level, almost all short-term buying pressure has been expended. Reversal probability is high.
Extreme oversold at 15: Maximum bearish exhaustion. At this level, almost all short-term selling pressure has been expended. Reversal probability is high.
Understanding these zones helps you assess the current market condition before looking at any other indicator components.
MARKET STRUCTURE: DYNAMIC SUPPORT AND RESISTANCE
The second major component of the indicator is market structure analysis through dynamic support and resistance levels. Unlike price-based support and resistance, these levels are calculated directly on the oscillator.
WHAT ARE OSCILLATOR-BASED S/R LEVELS
When the QMF oscillator reaches a high point and then reverses lower, that high point becomes a resistance level on the oscillator. When the oscillator reaches a low point and then reverses higher, that low point becomes a support level.
These levels represent momentum thresholds that the market has previously found difficult to exceed. They answer the question: At what momentum reading has the oscillator historically reversed?
WHY THIS MATTERS
Oscillator support and resistance provides different information than price support and resistance. Price S/R tells you where buyers and sellers have previously entered the market. Oscillator S/R tells you what level of momentum the market has been able to sustain.
If the oscillator approaches its resistance level, it suggests momentum is reaching the upper bounds of what has been achievable recently. Either momentum will break through (indicating unusually strong conditions) or it will reverse (indicating normal mean reversion).
Similarly, if the oscillator approaches support, it suggests momentum is reaching exhaustion levels that have previously triggered bounces.
HOW IT APPEARS ON THE CHART
Resistance is displayed as a horizontal red line with a RES label on the oscillator pane. Support is displayed as a horizontal cyan line with a SUP label. These lines update dynamically as new pivots form.
When the oscillator breaks through these levels, markers appear:
R with up arrow: Resistance level broken, indicating unusually strong bullish momentum
S with down arrow: Support level broken, indicating unusually strong bearish momentum
R with checkmark: Resistance held, price rejected at this level
S with checkmark: Support held, price bounced from this level
The dashboard also shows current S/R status: whether the oscillator recently broke resistance, broke support, is currently at resistance, is currently at support, or is in clear space between levels.
AUTOMATED TRENDLINES: MOMENTUM TREND STRUCTURE
The third major component is automated trendline detection on the oscillator. This identifies trending behavior in momentum itself, separate from price trends.
WHAT ARE OSCILLATOR TRENDLINES
Just as you can draw trendlines on a price chart connecting swing lows (uptrend) or swing highs (downtrend), the indicator draws trendlines on the oscillator connecting pivot points.
Support trendlines connect oscillator pivot lows and project forward with a flat or rising slope. These show upward trending momentum where each pullback finds support at a higher level.
Resistance trendlines connect oscillator pivot highs and project forward with a flat or falling slope. These show downward trending momentum where each rally faces resistance at a lower level.
WHY THIS MATTERS
Price trends and momentum trends do not always align. Price can continue making higher highs while momentum makes lower highs, a condition called bearish divergence. Momentum trendlines help visualize this behavior.
When momentum is making higher lows (rising support trendline), it suggests underlying strength even if price is consolidating. When momentum is making lower highs (falling resistance trendline), it suggests underlying weakness even if price is holding.
Breaks of these trendlines often precede price moves. If a falling momentum resistance trendline breaks upward, it suggests bearish pressure is releasing and bullish momentum may follow. If a rising momentum support trendline breaks downward, it suggests bullish pressure is failing and bearish momentum may follow.
HOW IT APPEARS ON THE CHART
Support trendlines appear in blue/cyan, resistance trendlines appear in pink/magenta. Lines extend forward from the most recent pivot point to show projected levels.
Small circle markers can optionally appear at each pivot point used to construct the trendlines, helping you verify the anchor points.
When the oscillator breaks through a trendline, markers appear:
TL with up arrow: Resistance trendline broken upward (bullish breakout)
TL with down arrow: Support trendline broken downward (bearish breakdown)
Trendline strength is calculated based on three factors: how many pivot points validate the line, how recently it formed, and the angle of the slope. Stronger trendlines have more touches, formed recently, and have moderate slopes. You can filter trendlines by strength to show only the most significant ones.
Optional trendline zones can display a shaded area around each trendline rather than just a single line, showing a zone of influence rather than a precise level.
DIVERGENCE: WHEN PRICE AND MOMENTUM DISAGREE
The fourth major component is divergence detection, which identifies discrepancies between price action and oscillator behavior.
WHAT IS DIVERGENCE
Divergence occurs when price makes a new high or low, but the oscillator fails to confirm it. This disagreement between price and momentum often precedes reversals.
There are four types of divergence:
REGULAR BULLISH DIVERGENCE
Price makes a lower low (new low point below the previous low), but the oscillator makes a higher low (its low point is above its previous low). This suggests that despite price going lower, selling momentum is actually weakening. The implication is that sellers are losing conviction and a bounce or reversal may be approaching.
Visual example: Imagine price drops from 100 to 95, bounces to 97, then drops again to 93. At the same time, the oscillator drops to 25, bounces to 35, then drops only to 30. Price made a lower low (93 vs 95) but the oscillator made a higher low (30 vs 25). This is regular bullish divergence.
REGULAR BEARISH DIVERGENCE
Price makes a higher high (new high point above the previous high), but the oscillator makes a lower high (its high point is below its previous high). This suggests that despite price going higher, buying momentum is actually weakening. The implication is that buyers are losing conviction and a pullback or reversal may be approaching.
HIDDEN BULLISH DIVERGENCE
Price makes a higher low (its low point is above its previous low), but the oscillator makes a lower low (new low below its previous low). This occurs during uptrends and suggests the trend will continue. Price is holding higher but momentum briefly dipped further, indicating a temporary pullback within a larger uptrend.
HIDDEN BEARISH DIVERGENCE
Price makes a lower high (its high point is below its previous high), but the oscillator makes a higher high (new high above its previous high). This occurs during downtrends and suggests the trend will continue. Price is staying lower but momentum briefly spiked higher, indicating a temporary bounce within a larger downtrend.
Regular divergence suggests reversal. Hidden divergence suggests continuation.
HOW IT APPEARS ON THE CHART
When divergence is confirmed, labels appear on the oscillator:
BULL DIV: Regular bullish divergence confirmed
BEAR DIV: Regular bearish divergence confirmed
H-BULL: Hidden bullish divergence confirmed
H-BEAR: Hidden bearish divergence confirmed
Dotted lines connect the pivot points on the oscillator to show the divergence pattern. Regular divergence uses solid colored lines, hidden divergence uses dashed lines.
The dashboard shows divergence status in real-time:
CHECKING BULL: A potential bullish divergence pattern is forming but not yet confirmed
CHECKING BEAR: A potential bearish divergence pattern is forming but not yet confirmed
BULL CONFIRMED: Bullish divergence has been validated
BEAR CONFIRMED: Bearish divergence has been validated
NONE: No divergence currently active
Divergence strength is calculated from the magnitude of the oscillator discrepancy. Only divergences meeting the minimum strength threshold are displayed to filter out minor, less significant patterns.
FLOW RIBBONS: VISUALIZING MOMENTUM ALIGNMENT
The fifth major component is the Flow Ribbon system, which displays multiple moving averages of the QMF oscillator to visualize momentum trend and alignment.
WHAT ARE FLOW RIBBONS
Flow ribbons consist of three Exponential Moving Averages (EMAs) applied to the QMF oscillator values. Think of them as smoothed versions of the oscillator at different speeds:
Fast Ribbon : Responds quickly to momentum changes, showing recent momentum direction
Medium Ribbon: Balances responsiveness with smoothness, showing intermediate momentum
Slow Ribbon: Moves slowly and shows longer-term momentum context
When these three lines are plotted together with filled area between them, they create a visual ribbon that expands and contracts based on momentum conditions.
WHY RIBBON ALIGNMENT MATTERS
The relationship between these three averages tells you about momentum structure:
BULLISH ALIGNMENT (Fast above Medium above Slow)
When the ribbons are stacked with fast on top, medium in middle, and slow on bottom, momentum is aligned bullishly across multiple timeframes. Short-term momentum leads, with medium and long-term momentum confirming. This is the strongest bullish configuration.
BEARISH ALIGNMENT (Fast below Medium below Slow)
When the ribbons are inverted with fast on bottom, medium in middle, and slow on top, momentum is aligned bearishly across multiple timeframes. Short-term momentum leads downward, with medium and long-term momentum confirming. This is the strongest bearish configuration.
MIXED/TRANSITIONING
When the ribbons are not properly stacked, momentum is in transition. This often occurs during consolidation, trend changes, or choppy conditions. Trading during mixed ribbon states carries higher uncertainty.
RIBBON EXPANSION AND CONTRACTION
Beyond alignment, the distance between the fast and slow ribbon provides additional information:
EXPANDING RIBBON
When the gap between fast and slow ribbon is increasing, momentum is accelerating. In a bullish alignment with expansion, upward momentum is strengthening. In a bearish alignment with expansion, downward momentum is strengthening. Expansion confirms trend conviction.
CONTRACTING RIBBON
When the gap between fast and slow ribbon is decreasing, momentum is decelerating. The current trend may be losing steam. Contraction often precedes consolidation or reversal. It serves as an early warning that the current move may be exhausting.
HOW IT APPEARS ON THE CHART
The fast ribbon appears as a thicker line, the slow ribbon as a thinner line. The area between them fills with color:
Green fill: Bullish ribbon alignment
Red fill: Bearish ribbon alignment
Gray fill: Neutral or transitioning state
The dashboard shows ribbon state as BULL, BEAR, or NEUT, and indicates whether ribbons are expanding (EXP) or contracting (CON).
Ribbon crossovers occur when the fast ribbon crosses the slow ribbon, signaling potential momentum shifts. These crossovers are confirmed only after the bar closes to prevent false signals from intrabar movement.
REVERSAL CLOUDS: PROBABILITY ZONES
The sixth major component is the Reversal Cloud system, which visualizes zones where momentum reversals have elevated probability.
WHAT ARE REVERSAL CLOUDS
Reversal clouds are shaded areas around the QMF oscillator that indicate probability zones for mean reversion. They answer the question: How far from average has momentum extended, and what is the probability it will revert?
When the oscillator moves far from its normal range, it creates stretched conditions. Like a rubber band pulled to its limit, the probability increases that it will snap back toward center. Reversal clouds visualize these stretched conditions.
CLOUD CALCULATION METHODS
Five different calculation methods are available, each with different characteristics:
DYNAMIC BOLLINGER
Uses statistical standard deviation to create bands that adapt to oscillator volatility. When the oscillator is volatile, bands widen. When the oscillator is calm, bands narrow. This method identifies moves that are statistically significant relative to recent oscillator behavior.
GOLDEN RATIO
Applies Fibonacci proportions (0.214 and 0.786) to the oscillator range. These ratios appear throughout nature and markets. Some traders believe these proportions have psychological significance in market behavior.
ADAPTIVE HALO
Scales cloud width based on price ATR rather than oscillator volatility. This connects cloud width to actual price volatility, making the clouds wider during volatile price action and narrower during calm periods.
VOLATILITY SQUEEZE
Uses short-term standard deviation to create bands that contract during low volatility and expand during high volatility. This method is particularly useful for identifying potential breakout conditions when volatility is compressed.
ICHIMOKU RSI
Applies concepts from Ichimoku Kinko Hyo equilibrium theory to create balanced zones. Uses multiple lookback periods to establish equilibrium levels where the oscillator tends to find balance.
HOW TO READ THE CLOUDS
The oscillator moves through the cloud area as momentum fluctuates:
When QMF enters the upper cloud region, it indicates extended bullish momentum. The higher into the cloud, the greater the probability of bearish reversal through mean reversion.
When QMF enters the lower cloud region, it indicates extended bearish momentum. The deeper into the cloud, the greater the probability of bullish reversal through mean reversion.
Cloud opacity adjusts based on reversal probability. More opaque coloring indicates higher reversal probability. Subtle coloring indicates lower reversal probability.
IMPORTANT UNDERSTANDING
Clouds show probability zones, not certainty. Price can remain in extreme zones longer than expected, particularly during strong trends. Clouds are most useful when combined with other components like divergence, S/R breaks, and ribbon alignment rather than used in isolation.
MULTI-TIMEFRAME ANALYSIS: SEEING THE BIGGER PICTURE
The seventh major component is Multi-Timeframe (MTF) analysis, which calculates QMF values across multiple timeframes to assess momentum alignment at different time perspectives.
WHY MULTIPLE TIMEFRAMES MATTER
The timeframe you trade on shows only one perspective of market momentum. A bullish signal on a 15-minute chart may occur within a larger bearish trend on the 4-hour chart. Understanding momentum context from higher timeframes helps you assess whether you are trading with or against the larger flow.
When multiple timeframes align in the same direction, the probability of a successful trade increases. When timeframes conflict, the situation is more uncertain and requires additional caution.
HOW MTF ANALYSIS WORKS
The indicator calculates the full QMF oscillator independently on four configurable timeframes. By default, these are set to 5-minute, 15-minute, 60-minute (1 hour), and 240-minute (4 hour), but you can configure them to any timeframes that suit your trading style.
For each timeframe, the system determines the current momentum bias:
OB - Overbought: QMF above 70, indicating extended bullish momentum that may reverse
B+ - Strong Bullish: QMF above 55 and above its signal line, indicating solid bullish momentum
B - Bullish: QMF above its signal line, indicating mild bullish momentum
N - Neutral: QMF near 50 with no clear direction
S - Bearish: QMF below its signal line, indicating mild bearish momentum
S+ - Strong Bearish: QMF below 45 and below its signal line, indicating solid bearish momentum
OS - Oversold: QMF below 30, indicating extended bearish momentum that may reverse
ALIGNMENT SCORING
The dashboard displays an alignment score showing how many of the four timeframes agree with each directional bias. This appears as a fraction like 3/4 or 2/4.
4/4 Bullish: All four timeframes show bullish readings - maximum bullish alignment
3/4 Bullish: Three timeframes bullish, one diverging - strong bullish alignment
2/4: Split between bullish and bearish - no clear alignment, use caution
3/4 Bearish: Three timeframes bearish, one diverging - strong bearish alignment
4/4 Bearish: All four timeframes show bearish readings - maximum bearish alignment
Higher alignment scores indicate more reliable momentum context. Trading with 3/4 or 4/4 alignment in your favor provides better odds than trading against alignment or during mixed conditions.
NON-REPAINTING MTF DATA
The multi-timeframe data uses proper request.security settings with lookahead disabled and gaps handled correctly. This ensures the MTF readings you see in backtesting match what you would see in real-time trading, with no future data leakage that could create misleading results.
LIVE MOMENTUM SCORING: REAL-TIME MARKET ASSESSMENT
The eighth major component is the Live Momentum Scoring system, which provides continuous real-time feedback on current market conditions.
WHAT IS LIVE MOMENTUM SCORING
Unlike signals which only appear when specific patterns complete, live momentum scores update every bar to show the current balance between bullish and bearish factors. This answers the question: Right now, how do the bullish factors compare to the bearish factors?
The system evaluates six categories for each direction and adds up points:
ZONE POSITION (0-25 points)
Rewards positioning in favorable oscillator zones. Deep oversold positioning adds points to the bullish score. Deep overbought positioning adds points to the bearish score. Extreme zones receive maximum points, moderate zones receive partial points, neutral zones receive zero.
DIVERGENCE (0-20 points)
Rewards active or forming divergence patterns. Confirmed divergence receives full points. Forming (checking) divergence receives partial credit. No divergence receives zero points.
TREND ALIGNMENT (0-20 points)
Rewards proper EMA stacking and trend MA positioning. Full bullish EMA stack (fast above medium above slow above trend MA) receives maximum bullish points. Partial alignment receives partial points.
MOMENTUM DIRECTION (0-15 points)
Rewards current momentum direction and acceleration. Accelerating momentum in the favorable direction receives maximum points. Simple directional momentum receives moderate points. Histogram turning (early reversal signs) receives partial points.
RIBBON STATE (0-10 points)
Rewards proper ribbon alignment and expansion. Aligned and expanding ribbons receive maximum points. Aligned but contracting ribbons receive moderate points. Mixed ribbons receive zero points.
MULTI-TIMEFRAME (0-10 points)
Rewards higher timeframe alignment. 4/4 alignment receives maximum points, scaling down as alignment decreases.
READING THE LIVE SCORES
The dashboard displays current scores for both directions:
BULL: Shows bullish score as percentage (0-100) and letter grade (A through D)
BEAR: Shows bearish score as percentage (0-100) and letter grade (A through D)
BIAS: Shows which direction currently dominates (BULL, BEAR, or NEUTRAL if close)
Grade thresholds:
A Grade: 70% or higher - Strong momentum factors aligned
B Grade: 50-69% - Moderate momentum factors present
C Grade: 30-49% - Some momentum factors but incomplete
D Grade: Below 30% - Weak or missing momentum factors
The dominant bias shows which direction currently has stronger factors. When one side leads by more than 10 points, it shows that direction. Otherwise, it shows NEUTRAL indicating balanced or mixed conditions.
WHY LIVE SCORING MATTERS
Live scores help you understand current market conditions even when no signal has fired. You can see momentum building or fading in real-time. A rising bullish score suggests conditions are improving for potential long opportunities. A rising bearish score suggests conditions are deteriorating.
This continuous feedback helps with:
- Anticipating potential signals before they fire
- Assessing whether to act on signals that do fire
- Understanding why a signal did or did not appear
- Monitoring open positions for changing conditions
THE DASHBOARD: YOUR ANALYSIS CONTROL CENTER
The dashboard provides a comprehensive real-time summary of all indicator components in one organized table. It displays on the price chart using force overlay so it remains visible regardless of which pane you are focused on.
DASHBOARD LAYOUT
The dashboard can be configured in three detail levels:
COMPACT MODE
Shows only essential information: QMF value, zone status, S/R status, and volume. Uses minimal screen space for traders who want the indicator to remain unobtrusive.
STANDARD MODE
Shows balanced detail including QMF values, zone status, last signal information, grade statistics, divergence status, S/R and volume status, live momentum scores, and MTF panel. Suitable for most traders.
FULL MODE
Shows maximum detail including everything in Standard mode plus EMA structure, ribbon state, volatility regime, signal statistics breakdown, and trendline counts. For traders who want complete information access.
DASHBOARD ROWS EXPLAINED
Row 1 - HEADER
Shows indicator name for identification.
Row 2 - QMF VALUES
Displays three values:
- QMF with directional arrow showing current oscillator value and whether it is rising, falling, or unchanged
- SIG showing the signal line value
- Histogram value with plus or minus sign showing the difference between QMF and signal line
Row 3 - PROGRESS BAR
Visual representation of oscillator position from 0 to 100 using text characters. Provides quick visual reference without needing to look at the oscillator pane.
Row 4 - ZONE STATUS
Text classification of current zone with color coding:
- EXTREME OB (red): Oscillator at or above extreme overbought level
- OVERBOUGHT (light red): Oscillator in overbought zone
- BULLISH (light green): Oscillator above 55 but below overbought
- NEUTRAL (gray): Oscillator between 45 and 55
- BEARISH (light red): Oscillator below 45 but above oversold
- OVERSOLD (light blue): Oscillator in oversold zone
- EXTREME OS (blue): Oscillator at or below extreme oversold level
Row 5 - LAST SIGNAL (Standard and Full mode)
Shows information about the most recent signal:
- Direction and grade (LONG A, SHORT B, etc.)
- Bars ago since signal fired
- Entry price when signal fired
- Current profit/loss from that price level
This helps track performance of recent signals and manage any open positions based on them.
Row 6 - GRADE STATISTICS (Standard and Full mode)
Running count of signals generated:
- A: Count of Grade A signals
- B: Count of Grade B signals
- C: Count of Grade C signals
- T: Total signal count
This provides perspective on signal frequency and grade distribution over the visible chart period.
Row 7 - DIVERGENCE STATUS (Standard and Full mode)
Current state of divergence detection:
- CHECKING BULL: Bullish divergence pattern forming, not yet confirmed
- CHECKING BEAR: Bearish divergence pattern forming, not yet confirmed
- BULL CONFIRMED: Bullish divergence validated
- BEAR CONFIRMED: Bearish divergence validated
- NONE: No divergence currently active
Row 8 - S/R AND VOLUME
Two pieces of information:
- S/R status: Shows R BROKEN (resistance broken upward), S BROKEN (support broken downward), AT RES (testing resistance), AT SUP (testing support), or CLEAR (between levels)
- Volume status: Shows HIGH (volume 1.5x or more above average), MID (volume near average), or LOW (volume below average)
Row 9 - LIVE MOMENTUM (Standard and Full mode)
Real-time momentum scoring:
- BULL: Bullish percentage and letter grade
- BEAR: Bearish percentage and letter grade
- Dominant bias indicator
Row 10-11 - MTF PANEL (when enabled, Standard and Full mode)
Multi-timeframe status:
- Top row shows the four timeframe labels
- Bottom row shows the status code for each timeframe (OB, B+, B, N, S, S+, OS)
- Final cell shows alignment score as X/4
FULL MODE ADDITIONAL ROWS
Structure row: Shows EMA stack status (BULL STACK, BEAR STACK, or relationship between fast and slow) and trend MA position (ABOVE MA or BELOW MA)
Stats row: Shows count of long signals, short signals, and active trendlines
Ribbon row: Shows ribbon state (BULL, BEAR, NEUT), expansion status (EXP or CON), and volatility regime (H-VOL for high volatility, L-VOL for low volatility, N-VOL for normal)
DASHBOARD POSITIONING AND SIZING
Position options: Top Left, Top Center, Top Right, Middle Left, Middle Right, Bottom Left, Bottom Center, Bottom Right
Size options: Tiny (minimal space), Small (balanced), Normal (maximum readability)
Choose a position that does not obscure important price action on your chart and a size that balances readability with space efficiency.
HOW SIGNALS EMERGE FROM CONFLUENCE
After understanding all the individual components, it becomes clear how signals are generated. Signals in QMF are not arbitrary triggers based on single conditions. They emerge when multiple independent factors align to create confluence.
THE PATTERN-BASED APPROACH
The signal system uses a hierarchical pattern-based approach. Rather than calculating a score from random factors and labeling it, the system actively hunts for specific predefined pattern combinations.
The system first checks for Grade A patterns. If none are found, it checks for Grade B patterns. If none are found, it checks for Grade C patterns. Each grade represents specific combinations of factors that must be present together.
GRADE A REQUIREMENTS
Grade A patterns require multiple strong factors aligned. Examples of Grade A pattern combinations:
Pattern A1 - Perfect Storm Reversal:
- Extreme zone positioning (deeply oversold or overbought)
- Confirmed regular divergence
- Structural break (resistance broken or support broken or trendline broken)
- Strong volume conviction (1.3x or higher)
- High MTF alignment (3 or more timeframes agreeing)
Pattern A2 - Breakout Conviction:
- Resistance or support broken
- Accelerating momentum in the breakout direction
- Full EMA stack aligned
- Ribbon aligned and expanding
- Strong volume conviction (1.4x or higher)
- Good MTF alignment (2 or more timeframes)
Pattern A3 - Zone Reversal Multi-Confirmation:
- Extreme or standard zone positioning
- Regular or hidden divergence confirmed
- Active bounce from zone
- EMA crossover or MA break in reversal direction
- Good MTF alignment (2 or more timeframes)
- Volume conviction present (1.2x or higher)
All factors in the pattern must be present simultaneously. Missing any single factor disqualifies the Grade A pattern.
GRADE B REQUIREMENTS
Grade B patterns require fewer but still meaningful confirmations. These patterns fire only when no Grade A pattern is detected:
Pattern B1 - Zone with Confirmation:
- Oversold or overbought zone positioning
- Momentum in reversal direction
- Hidden divergence, EMA crossover, or trendline break present
- Minimum MTF alignment met
Pattern B2 - Divergence with Structure:
- Regular or hidden divergence confirmed
- Structural break (S/R or trendline or MA)
- Momentum confirming direction
- Volume at least average
Pattern B3 - Clean Trend Continuation:
- Above or below trend MA
- Ribbon aligned in direction
- Oscillator crossed signal line
- EMA stack complete
GRADE C REQUIREMENTS
Grade C patterns require basic confirmations. These patterns fire only when no Grade A or Grade B pattern is detected:
Pattern C1 - Early Zone Entry:
- Zone positioning or approaching zone
- Momentum in expected direction
- Oscillator or EMA crossover present
Pattern C2 - Momentum Shift:
- Histogram turning in expected direction
- Oscillator crossover confirmed
- Oscillator on expected side of midline
SIGNAL QUALITY CONTROLS
Beyond pattern detection, several quality controls must be satisfied:
COOLDOWN
A minimum number of bars must pass between any two signals. This prevents signal clustering during volatile conditions and ensures each signal represents a distinct opportunity.
DIRECTION ALTERNATION
When enabled, signals must alternate between LONG and SHORT. After a LONG signal, only SHORT signals can fire until direction changes. This prevents multiple consecutive signals in the same direction.
PULLBACK REQUIREMENT
After a signal fires, the oscillator must retrace a minimum percentage before another same-direction signal can fire. This ensures re-entry signals occur after meaningful pullbacks rather than immediately after the first signal.
VOLUME CONFIRMATION (Optional)
When enabled, volume must meet minimum threshold relative to average. This filters out signals during low-volume periods when moves may lack follow-through.
BAR CONFIRMATION
All signals require barstate.isconfirmed, meaning they only fire after the bar closes. This prevents signals from appearing and disappearing during live bar formation, ensuring backtest results match live behavior.
A comprehensive example that combines signal generation logic, grading system, with all elements clearly annotated for easy understanding.
SETTINGS REFERENCE
This section provides a reference for the main configurable settings organized by category.
QUANTUM ENGINE SETTINGS
Sensitivity (5-50): Primary lookback period for momentum calculations. Lower values respond faster but may include more noise. Higher values smooth the oscillator but increase lag. Default 14 balances responsiveness with stability.
Smoothing (1-10): Exponential smoothing applied to final QMF value. Higher values reduce noise, lower values preserve detail. Default 3 provides good noise reduction.
Adaptive Mode: When enabled, automatically adjusts sensitivity based on volatility regime. Increases sensitivity during high volatility, decreases during low volatility.
Dimension Toggles: Enable or disable each of the four dimensions (Velocity, Volume, Volatility, Session) individually. Useful for customizing the oscillator for specific instruments or conditions.
Dimension Weights: Adjust relative contribution of each dimension. Weights are normalized so they do not need to sum to 1.0. Higher weight means that dimension has more influence on the final value.
Signal Length: EMA period for the signal line. Lower values make signal line more responsive, higher values make it smoother.
DISPLAY SETTINGS
Display Mode: Choose between Energy Candles, QMF Line, Impulse Bars, or Heikin Flow visualization.
Candle Glow: Adds luminous glow effect around energy candles based on momentum strength. Visually striking but can impact performance on slower systems.
Glow Layers: Number of glow layers when candle glow is enabled. More layers create smoother gradient but use more resources.
VISUAL SETTINGS
Theme: Choose between Tokyo Night (dark blue with vibrant accents), Dracula (purple-grey with high contrast), or Nord (muted arctic tones). Each theme is designed for extended trading sessions.
Glow Intensity: Controls transparency of glow effects. Lower values create more visible glows, higher values more subtle.
Enable Glow Effects: Master toggle for all glow effects around candles and levels.
REVERSAL CLOUD SETTINGS
Enable Reversal Clouds: Toggle cloud display on or off.
Cloud Style: Choose calculation method (Dynamic Bollinger, Golden Ratio, Adaptive Halo, Volatility Squeeze, Ichimoku RSI).
Cloud Transparency: Higher values make clouds more transparent, lower values more visible.
Cloud Width: Multiplier for cloud width. Higher values create wider reversal zones.
FLOW RIBBON SETTINGS
Enable Ribbons: Toggle ribbon display.
Fast/Medium/Slow Ribbon: Period for each ribbon EMA. Faster periods respond quicker, slower periods show longer-term trend.
DIVERGENCE SETTINGS
Enable Divergence: Toggle divergence detection.
Pivot Sensitivity: Bars required on each side to confirm pivot point. Higher values detect more significant pivots but may miss shorter-term divergences.
Confirmation Bars: Bars to wait after pivot detection before confirming divergence.
Min Strength Pct: Minimum divergence strength percentage to display. Higher values filter out weaker divergences.
Show Lines: Draw connecting lines between divergence pivots.
Min/Max Distance: Range of bars between pivots for valid divergence.
SIGNAL SYSTEM SETTINGS
Enable Signals: Toggle signal generation.
Show Signals: Filter by grade (A Only, A and B, All Grades).
Cooldown Bars: Minimum bars between signals.
Pullback Required Pct: Percentage pullback needed before same-direction signal.
Require Direction Alternation: Force signals to alternate LONG and SHORT.
Fast/Slow EMA: Periods for EMA crossover analysis.
Trend MA: Period for trend-defining moving average.
Min MTF Alignment: Minimum timeframes that must align for higher grades.
Require Volume Confirmation: Make volume threshold mandatory for signals.
Min Volume Ratio: Minimum volume relative to average when required.
TRENDLINE SETTINGS
Enable Trendlines: Toggle automated trendline detection.
Pivot Left/Right: Bars for pivot detection.
Extension Bars: How far to extend lines into future.
Min Touch Points: Minimum pivots to validate line.
Enable Strength Filter: Filter by calculated strength.
Minimum Strength: Threshold for strength filter.
Show Trendline Zones: Display shaded zones around lines.
Zone Width StdDev: Standard deviation multiplier for zone width.
Line Style: Solid, Dashed, or Dotted.
Line Width: Thickness in pixels.
Show Touch Points: Display circle markers at pivots.
Show Strength Labels: Display strength percentage at line end.
SUPPORT RESISTANCE SETTINGS
Enable S/R: Toggle dynamic S/R display.
Pivot Lookback: Period for detecting S/R pivots.
DASHBOARD SETTINGS
Enable Dashboard: Toggle dashboard display.
Position: Screen position (8 options).
Size: Tiny, Small, or Normal.
Style: Compact, Standard, or Full detail level.
MTF Panel: Include or exclude multi-timeframe panel.
MTF 1-4: Timeframe selections for MTF analysis.
LEVEL SETTINGS
Overbought/Oversold: Standard zone thresholds.
Extreme OB/OS: Extreme zone thresholds.
PRACTICAL EXAMPLE: READING THE COMPLETE PICTURE
This example walks through analyzing a chart using all the indicator components together.
SCENARIO: You are analyzing a 15-minute chart looking for trading opportunities.
STEP 1: ASSESS OSCILLATOR ZONE
You look at the QMF oscillator and see it reading 24, which is in the oversold zone. The dashboard confirms this showing OVERSOLD in the zone status. The progress bar shows the oscillator is in the lower portion of its range.
Initial assessment: The market has experienced significant selling pressure and is in territory where bullish reversals have elevated probability.
STEP 2: CHECK STRUCTURE
You look at the dynamic S/R levels. The oscillator recently touched its support level at 22 and bounced. You see an S with checkmark marker indicating support held. The dashboard shows AT SUP status.
Assessment update: The oscillator found support at a level that has held before. This adds to the bullish case.
STEP 3: EXAMINE TRENDLINES
You notice a resistance trendline connecting recent oscillator highs that has been declining. The oscillator is currently approaching this trendline from below. No break has occurred yet.
Assessment update: There is overhead resistance that will need to be cleared. A break above would be significant.
STEP 4: CHECK DIVERGENCE
The dashboard shows BULL CONFIRMED in the divergence status. Looking at the oscillator, you see a BULL DIV label with a dotted line connecting two pivot lows. The oscillator made a higher low while price made a lower low.
Assessment update: Confirmed bullish divergence suggests selling momentum is weakening despite price continuing lower. This is a meaningful signal of potential reversal.
STEP 5: EVALUATE RIBBONS
The ribbons are currently mixed with fast below medium but both above slow. Ribbon fill is gray indicating transitioning state. However, you notice the fast ribbon is turning upward and approaching the medium ribbon from below.
Assessment update: Ribbons are not yet aligned bullish, but appear to be transitioning. A bullish crossover may be approaching.
STEP 6: CHECK MTF ALIGNMENT
The dashboard MTF panel shows: 5m is B+, 15m is B, 1H is N, 4H is S. The alignment shows 2/4 bullish.
Assessment update: Lower timeframes support bullish bias, but higher timeframes are neutral or bearish. This is mixed alignment, suggesting caution. Any bullish move may face resistance from higher timeframe sellers.
STEP 7: REVIEW LIVE MOMENTUM SCORES
Dashboard shows BULL at 52% Grade B, BEAR at 28% Grade D. Dominant bias shows BULL.
Assessment update: Bullish factors currently outweigh bearish factors. The score suggests moderate bullish conditions, not yet strong.
STEP 8: SYNTHESIS
Putting it together:
- Oversold zone positioning (bullish factor)
- Support held (bullish factor)
- Bullish divergence confirmed (strong bullish factor)
- Ribbons transitioning but not yet aligned (neutral)
- MTF alignment mixed at 2/4 (caution factor)
- Live score favors bullish moderately (supporting factor)
- Resistance trendline overhead (risk factor)
Conclusion: Conditions favor a bullish reversal but with caution warranted due to mixed MTF alignment and overhead resistance. This would not qualify for a Grade A signal due to insufficient MTF alignment. If a signal fires, it would likely be Grade B.
STEP 9: SIGNAL FIRES
Several bars later, the oscillator crosses above its signal line while still in oversold territory. The EMA fast crosses above EMA slow. A LONG B signal appears at 85% confluence.
The signal represents: Oversold positioning plus confirmed divergence plus momentum crossover, meeting Grade B pattern requirements.
STEP 10: MONITORING
After entry, you monitor the dashboard for changing conditions. Live momentum scores continue rising. The resistance trendline breaks (TL up arrow marker appears). Ribbons align bullish. MTF alignment improves to 3/4 as the 1H turns bullish.
The improving conditions confirm the trade thesis. You hold the position as conditions strengthen.
ALERTS AVAILABLE
28 alert conditions are available covering all major events. To set up alerts, click the alert icon in TradingView, select this indicator, and choose the desired condition.
SIGNAL ALERTS
- A-Grade LONG Signal: Highest probability bullish entry
- A-Grade SHORT Signal : Highest probability bearish entry
- B-Grade LONG Signal: Solid bullish entry
- B-Grade SHORT Signal: Solid bearish entry
- Any LONG Signal: Any bullish signal regardless of grade
- Any SHORT Signal: Any bearish signal regardless of grade
DIVERGENCE ALERTS
- Regular Bullish Divergence: Classic bullish reversal pattern
- Regular Bearish Divergence: Classic bearish reversal pattern
- Hidden Bullish Divergence: Bullish continuation pattern
- Hidden Bearish Divergence: Bearish continuation pattern
- Any Bullish Divergence: Either regular or hidden bullish
- Any Bearish Divergence: Either regular or hidden bearish
STRUCTURE ALERTS
- Trendline Break Up : Resistance trendline broken
- Trendline Break Down: Support trendline broken
- Resistance Broken: S/R resistance level broken
- Support Broken: S/R support level broken
CROSSOVER ALERTS
- EMA Cross Up : Fast EMA crossed above slow EMA
- EMA Cross Down : Fast EMA crossed below slow EMA
- Trend MA Break Up: Oscillator crossed above trend MA
- Trend MA Break Down: Oscillator crossed below trend MA
ZONE ALERTS
- Entered Overbought Zone: Oscillator entered overbought
- Entered Oversold Zone: Oscillator entered oversold
- Entered Extreme Overbought: Oscillator reached extreme overbought
- Entered Extreme Oversold: Oscillator reached extreme oversold
RIBBON ALERTS
- Ribbon Cross Up: Fast ribbon crossed above slow ribbon
- Ribbon Cross Down: Fast ribbon crossed below slow ribbon
BOUNCE ALERTS
- Bounce From Oversold: Active reversal from oversold zone
- Bounce From Overbought : Active reversal from overbought zone
NON-REPAINTING Structure
All visual elements and signals in this indicator are non-repainting:
- Signals use barstate.isconfirmed to fire only after bar close
- Divergence confirmation waits for pivot validation
- Trendline breaks confirm after bar close
- S/R breaks confirm after bar close
- MTF data uses lookahead off setting
- No future data is used in any calculation
What you see in backtesting accurately represents what would have appeared in real-time trading.
RISK DISCLAIMER
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice, or trading advice.
Trading financial instruments involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. The analysis provided by this indicator should not be relied upon as the sole basis for any trading decision.
Before trading:
- Understand you may lose some or all of your investment
- Never trade with money you cannot afford to lose
- Conduct your own research and due diligence
- Consider consulting with a qualified financial advisor
- Practice with paper trading before risking real capital
- Implement proper risk management with recommended maximum 1-2% risk per trade
By using this indicator, you acknowledge that you have read and understood this disclaimer and accept full responsibility for your trading decisions.
ORB Fusion ML AdaptiveORB FUSION ML - ADAPTIVE OPENING RANGE BREAKOUT SYSTEM
INTRODUCTION
ORB Fusion ML is an advanced Opening Range Breakout (ORB) system that combines traditional ORB methodology with machine learning probability scoring and adaptive reversal trading. Unlike basic ORB indicators, this system features intelligent breakout filtering, failed breakout detection, and complete trade lifecycle management with real-time visual feedback.
This guide explains the theoretical concepts, system components, and educational examples of how the indicator operates.
WHAT IS OPENING RANGE BREAKOUT (ORB)?
Core Concept:
The Opening Range Breakout strategy is based on the observation that the first 15-60 minutes of trading often establish a range that serves as support/resistance for the remainder of the session. Breakouts beyond this range have historically indicated potential directional moves.
How It Works:
Range Formation: System identifies high and low during opening period (default 30 minutes)
Breakout Detection: Monitors price for confirmed breaks above/below range
Signal Generation: Generates signals based on breakout method and filters
Target Projection: Projects extension targets based on range size
Why ORB May Be Effective:
Opening period often represents institutional positioning
Range boundaries historically act as support/resistance
Breakouts may indicate strong directional bias
Failed breakouts may signal reversal opportunities
Note: Historical patterns do not guarantee future occurrences.
SYSTEM COMPONENTS
1. OPENING RANGE DETECTION
Primary ORB:
Default: First 30 minutes of regular trading hours (9:30-10:00 AM ET)
Configurable: 5, 15, 30, or 60-minute ranges
Precision: Optional lower timeframe (LTF) data for exact high/low detection
LTF Precision Mode:
When enabled, system uses 1-minute data to identify precise range boundaries, even on higher timeframe charts. This may improve accuracy of breakout detection.
Session ORBs (Optional):
Asian Session: Typically 00:00-01:00 UTC
London Session: Typically 08:00-09:00 UTC
NY Session: Typically 13:30-14:30 UTC
These provide additional reference levels for 24-hour markets.
2. INITIAL BALANCE (IB)
The Initial Balance concept extends ORB methodology:
Components:
A-Period: First 30 minutes (9:30-10:00)
B-Period: Second 30 minutes (10:00-10:30)
IB Range: Combined high/low of both periods
IB Extensions:
System projects multiples of IB range (0.5×, 1.0×, 1.5×, 2.0×) as potential targets and key reference levels.
Historical Context:
IB methodology was popularized by traders observing that the first hour often establishes the day's trading range. Extensions beyond IB may indicate trend day development.
3. BREAKOUT CONFIRMATION METHODS
The system offers three confirmation methods:
A. Close Beyond Range (Default):
Bullish: Close > ORB High
Bearish: Close < ORB Low
Most balanced approach - requires bar to close beyond level.
B. Wick Beyond Range:
Bullish: High > ORB High
Bearish: Low < ORB Low
Most sensitive - any touch triggers. May generate more signals but higher false breakout rate.
C. Body Beyond Range:
Bullish: Min(Open, Close) > ORB High
Bearish: Max(Open, Close) < ORB Low
Most conservative - entire candle body must be beyond range.
Volume Confirmation:
Optional requirement that breakout occurs on above-average volume (default 1.5× 20-bar average). May filter weak breakouts lacking institutional participation.
4. MACHINE LEARNING PROBABILITY SCORING
The system's key differentiator is ML-based breakout filtering using logistic regression.
How It Works:
Feature Extraction:
When breakout candidate detected, system calculates:
ORB Range / ATR (range size normalization)
Volume Ratio (current vs. average)
VWAP Distance × Direction (alignment)
Gap Size × Direction (overnight gap influence)
Bar Impulse (momentum strength)
Probability Calculation:
pContinue = Probability breakout continues
pFail = Probability breakout fails and reverses
Calculated via logistic regression:
P = 1 / (1 + e^(-z))
where z = β₀ + β₁×Feature₁ + β₂×Feature₂ + ...
Coefficient Examples (User Configurable):
pContinue Model:
Intercept: -0.20 (slight bearish bias)
ORB Range/ATR: +0.80 (larger ranges favored)
Volume Ratio: +0.60 (higher volume increases probability)
VWAP Alignment: +0.50 (aligned with VWAP helps)
pFail Model:
Intercept: -0.30 (assumes most breakouts valid)
Volume Ratio: -0.50 (low volume increases failure risk)
VWAP Alignment: -0.90 (breaking away from VWAP risky)
ML Gating:
When enabled, breakout only signaled if:
pContinue ≥ Minimum Threshold (default 55%)
pFail ≤ Maximum Threshold (default 35%)
This filtering aims to reduce false breakouts by requiring favorable probability scores.
Model Training:
Users should backtest and optimize coefficients for their specific instrument and timeframe. Default values are educational starting points, not guaranteed optimal parameters.
Educational Note: ML models assume past feature relationships continue into the future. Market conditions may change in ways not captured by historical data.
5. FAILED BREAKOUT DETECTION & REVERSAL TRADING
A unique feature is automatic detection of failed breakouts and generation of counter-trend reversal setups.
Detection Logic:
Failure Conditions:
For Bullish Breakout that fails:
- Initially broke above ORB High
- After N bars (default 3), price closes back inside range
- Must close below (ORB High - Buffer)
- Buffer = ATR × 0.1 (default)
For Bearish Breakout that fails:
- Initially broke below ORB Low
- After N bars, price closes back inside range
- Must close above (ORB Low + Buffer)
Automatic Reversal Entry:
When failure detected, system automatically:
Generates reversal entry at current close
Sets stop loss beyond recent extreme + small buffer
Projects 3 targets based on ORB range multiples
Target Calculations:
For failed bullish breakout (now SHORT):
Entry = Close (when failure confirmed)
Stop = Recent High + (ATR × 0.10)
T1 = ORB High - (ORB Range × 0.5) // 50% retracement
T2 = ORB High - (ORB Range × 1.0) // Full retracement
T3 = ORB High - (ORB Range × 1.5) // Beyond opposite boundary
Trade Lifecycle Management:
The system tracks reversal trades in real-time through multiple states:
State 0: No trade
State 1: Breakout active (monitoring for failure)
State 2: Breakout failed (not used currently)
State 3: Reversal entry taken
State 4: Target 1 hit
State 5: Target 2 hit
State 6: Target 3 hit
State 7: Stopped out
State 8: Complete
Real-Time Tracking:
MFE (Maximum Favorable Excursion): Best price achieved
MAE (Maximum Adverse Excursion): Worst price against position
Dynamic Lines & Labels: Visual updates as trade progresses
Color Coding: Green for hit targets, gray for stopped trades
Visual Feedback:
Entry line (solid when active, dotted when stopped)
Stop loss line (red dashed)
Target lines (green when hit, gray when stopped)
Labels update in real-time with status
This complete lifecycle tracking provides educational insight into trade development and risk/reward realization.
Educational Context: Failed breakouts are a recognized pattern in technical analysis. The theory is that trapped traders may need to exit, creating momentum in the opposite direction. However, not all failed breakouts result in profitable reversals.
6. EXTENSION TARGETS
System projects Fibonacci-based extension levels beyond ORB boundaries.
Bullish Extensions (Above ORB High):
1.272× (ORB High + ORB Range × 0.272)
1.5× (ORB High + ORB Range × 0.5)
1.618× (ORB High + ORB Range × 0.618)
2.0× (ORB High + ORB Range × 1.0)
2.618× (ORB High + ORB Range × 1.618)
3.0× (ORB High + ORB Range × 2.0)
Bearish Extensions (Below ORB Low):
Same multipliers applied below ORB Low
Visual Representation:
Dotted lines until reached
Solid lines after price touches level
Color coding (green for bullish, red for bearish)
These serve as potential profit targets and key reference levels.
7. DAY TYPE CLASSIFICATION
System attempts to classify trading day based on price movement relative to Initial Balance.
Classification Logic:
IB Extension = (Current Price - IB Boundary) / IB Range
Day Types:
Trend Day: Extension ≥ 1.5× IB Range
- Strong directional movement
- Price extends significantly beyond IB
Normal Day: Extension between 0.5× and 1.5×
- Moderate movement
- Some extension but not extreme
Rotation Day: Price stays within IB
- Range-bound conditions
- Limited directional conviction
Historical Context:
Day type classification comes from market profile analysis, suggesting different trading approaches for different conditions. However, classification is backward-looking and may change throughout the session.
8. VWAP INTEGRATION
Volume-Weighted Average Price included as institutional reference level.
Calculation:
VWAP = Σ(Typical Price × Volume) / Σ(Volume)
Typical Price = (High + Low + Close) / 3
Standard Deviation Bands:
Band 1: VWAP ± 1.0 σ
Band 2: VWAP ± 2.0 σ
Usage:
Alignment with VWAP may indicate institutional support
Distance from VWAP factored into ML probability scoring
Bands suggest potential overbought/oversold extremes
Note: VWAP is widely used by institutional traders as a benchmark, but this does not guarantee its predictive value.
9. GAP ANALYSIS
Tracks overnight gaps and fill statistics.
Gap Detection:
Gap Size = Open - Previous Close
Classification:
Gap Up: Gap > ATR × 0.1
Gap Down: Gap < -ATR × 0.1
No Gap: Otherwise
Gap Fill Tracking:
Monitors if price returns to previous close
Calculates fill rate over time
Displays previous close as reference level
Historical Context:
Market folklore suggests "gaps get filled," though statistical evidence varies by market and timeframe.
10. MOMENTUM CANDLE VISUALIZATION
Optional colored boxes around candles showing position relative to ORB.
Color Coding:
Blue: Inside ORB range
Green: Above ORB High (bullish momentum)
Red: Below ORB Low (bearish momentum)
Bright Green: Breakout bar
Orange: Failed breakout bar
Gray: Stopped out bar
Lime: Target hit bar
Provides quick visual context of price location and key events.
DISPLAY MODES
Three complexity levels to suit different user preferences:
SIMPLE MODE
Minimal display focusing on essentials:
✓ Primary ORB levels (High, Low, Mid)
✓ Basic breakout signals
✓ Essential dashboard metrics
✗ No session ORBs
✗ No IB analysis
✗ No extensions
Best for: Clean charts, beginners, focus on core ORB only
STANDARD MODE
Balanced feature set:
✓ Primary ORB levels
✓ Initial Balance with extensions
✓ Session ORBs (Asian, London, NY)
✓ VWAP with bands
✓ Breakout and reversal signals
✓ Gap analysis
✗ Detailed statistics
Best for: Most traders, good balance of information and clarity
ADVANCED MODE
Full feature set:
✓ All Standard features
✓ ORB extensions (1.272×, 1.5×, 1.618×, 2.0×, etc.)
✓ Complete statistics dashboard
✓ Detailed performance metrics
✓ All visual enhancements
Best for: Experienced users, research, full analysis
DASHBOARD INTERPRETATION
Main Dashboard Sections:
ORB Status:
Status: Complete / Building / Waiting
Range: Actual range size in price units
Trade State:
State: Current trade status (see 8 states above)
Vol: Volume confirmation (Confirmed / Low)
Targets (when reversal active):
T1, T2, T3: Hit / Pending / Stopped
Color: Green = hit, Gray = pending or stopped
ML Section (when enabled):
ML: ON Pass / ON Reject / OFF
pC/pF: Probability scores as percentages
Setup:
Action: LONG / SHORT / REVERSAL / FADE / WAIT
Grade: A+ to D based on confidence
Status: ACTIVE / STOPPED / T1 HIT / etc.
Conf: Confidence percentage
Context:
Bias: Overall market direction assessment
VWAP: Above / Below / At VWAP
Gap: Gap type and fill status
Statistics (Advanced Mode):
Bull WR: Bullish breakout win rate
Bear WR: Bearish breakout win rate
Rev WR: Reversal trade win rate
Rev Count: Total reversals taken
Narrative Dashboard:
Plain-language interpretation:
Phase: Building ORB / Trading Phase / Pre-market
Status: Current market state in plain English
ML: Probability scores
Setup: Trade recommendation with grade
All metrics based on historical simulation, not live trading results.
USAGE GUIDELINES - EDUCATIONAL EXAMPLES
Getting Started:
Step 1: Chart Setup
Add indicator to chart
Select appropriate timeframe (1-5 min recommended for ORB trading)
Choose display mode (start with Standard)
Step 2: Opening Range Formation
During first 30 minutes (9:30-10:00 ET default)
Watch ORB High/Low levels form
Note range size relative to ATR
Step 3: Breakout Monitoring
After ORB complete, watch for breakout candidates
Check ML scores if enabled
Verify volume confirmation
Step 4: Signal Evaluation
Consider confidence grade
Review trade state and targets
Evaluate risk/reward ratio
Interpreting ML Scores:
Example 1: High Probability Breakout
Breakout: Bullish
pContinue: 72%
pFail: 18%
ML Status: Pass
Grade: A
Interpretation:
- High continuation probability
- Low failure probability
- Passes ML filter
- May warrant consideration
Example 2: Rejected Breakout
Breakout: Bearish
pContinue: 48%
pFail: 52%
ML Status: Reject
Grade: D
Interpretation:
- Low continuation probability
- High failure probability
- ML filter blocks signal
- Small 'X' marker shows rejection
Note: ML scores are mathematical outputs based on historical data. They do not guarantee outcomes.
Reversal Trade Example:
Scenario:
9:45 AM: Bullish breakout above ORB High
9:46 AM: Price extends to +0.8× ORB range
9:48 AM: Price reverses, closes back below ORB High
9:49 AM: Failure confirmed (3 bars inside range)
System Response:
- Marks failed breakout with 'FAIL' label
- Generates SHORT reversal entry
- Sets stop above recent high
- Projects 3 targets
- Trade State → 3 (Reversal Active)
- Entry line and targets display
Potential Outcomes:
- Stop hit → State 7 (Stopped), lines gray out
- T1 hit → State 4, T1 line turns green
- T2 hit → State 5, T2 line turns green
- T3 hit → State 6, T3 line turns green
All tracked in real-time with visual updates.
Risk Management Considerations:
Position Sizing Example:
Account: $25,000
Risk per trade: 1% = $250
Stop distance: 1.5 ATR = $150 per share
Position size: $250 / $150 = 1.67 shares (round to 1)
Stop Loss Guidelines:
Breakout trades: ORB midpoint or opposite boundary
Reversal trades: System-provided stop (recent extreme + buffer)
Never widen system stops
Target Management:
Consider scaling out at T1, T2, T3
Trail stops after T1 reached
Full exit if stopped
These are educational examples, not recommendations. Users must develop their own risk management based on personal tolerance and account size.
OPTIMIZATION SUGGESTIONS
For Stock Indices (ES, NQ):
Suggested Settings:
ORB Timeframe: 30 minutes
Confirmation: Close
Volume Filter: ON (1.5×)
ML Filter: ON
Display Mode: Standard
Rationale:
30-min ORB standard for equity indices
Close confirmation balances speed and reliability
Volume important for institutional participation
ML helps filter noise
Historical Observation:
Indices often respect ORB levels during regular hours.
For Individual Stocks:
Suggested Settings:
ORB Timeframe: 5-15 minutes
Confirmation: Close or Body
Volume Filter: ON (1.8-2.0×)
RTH Only: ON
Failed Breakouts: ON
Rationale:
Shorter ORB may be appropriate for volatile stocks
Volume critical to filter low-liquidity moves
RTH avoids pre-market noise
Failed breakouts common in stocks
For Forex:
Suggested Settings:
ORB Timeframe: 60 minutes
Session ORBs: ON (Asian, London)
Volume Filter: OFF or low threshold
24-hour mode: ON
Rationale:
Forex trades 24 hours, need session awareness
Volume data less reliable in forex
Longer ORB for slower forex movement
For Crypto:
Suggested Settings:
ORB Timeframe: 30-60 minutes
Confirmation: Body (more conservative)
Volume Filter: ON (2.0×+)
Display Mode: Advanced
Rationale:
High volatility requires conservative confirmation
Volume crucial to distinguish real moves from noise
24-hour market benefits from multiple session ORBs
ML COEFFICIENT TUNING
Users can optimize ML model coefficients through backtesting.
Approach:
Data Collection: Review rejected breakouts - were they correct to reject?
Pattern Analysis: Which features correlate with success/failure?
Coefficient Adjustment: Increase weights for predictive features
Threshold Tuning: Adjust minimum pContinue and maximum pFail
Validation: Test on out-of-sample data
Example Optimization:
If finding:
High-volume breakouts consistently succeed
Low-volume breakouts often fail
Action:
Increase pCont w(Volume Ratio) from 0.60 to 0.80
Increase pFail w(Volume Ratio) magnitude (more negative)
If finding:
VWAP alignment highly predictive
Gap direction not helpful
Action:
Increase pCont w(VWAP Distance×Dir) from 0.50 to 0.70
Decrease pCont w(Gap×Dir) toward 0.0
Important: Optimization should be done on historical data and validated on out-of-sample periods. Overfitting to past data does not guarantee future performance.
STATISTICS & PERFORMANCE TRACKING
System maintains comprehensive statistics:
Breakout Statistics:
Total Days: Number of trading days analyzed
Bull Breakouts: Total bullish breakouts
Bull Wins: Breakouts that reached 2.0× extension
Bull Win Rate: Percentage that succeeded
Bear Breakouts: Total bearish breakouts
Bear Wins: Breakouts that reached 2.0× extension
Bear Win Rate: Percentage that succeeded
Reversal Statistics:
Reversals Taken: Total failed breakouts traded
T1 Hit: Number reaching first target
T2 Hit: Number reaching second target
T3 Hit: Number reaching third target
Stopped: Number stopped out
Reversal Win Rate: Percentage reaching at least T1
Day Type Statistics:
Trend Days: Days with 1.5×+ IB extension
Normal Days: Days with 0.5-1.5× extension
Rotation Days: Days staying within IB
Extension Statistics:
Average Extension: Mean extension level reached
Max Extension: Largest extension observed
Gap Statistics:
Total Gaps: Number of significant gaps
Gaps Filled: Number that filled during session
Gap Fill Rate: Percentage filled
Note: All statistics based on indicator's internal simulation logic, not actual trading results. Past statistics do not predict future outcomes.
ALERTS
Customizable alert system for key events:
Available Alerts:
Breakout Alert:
Trigger: Initial breakout above/below ORB
Message: Direction, price, volume status, ML scores, grade
Frequency: Once per bar
Failed Breakout Alert:
Trigger: Breakout failure detected
Message: Reversal setup with entry, stop, and 3 targets
Frequency: Once per bar
Extension Alert:
Trigger: Price reaches extension level
Message: Extension multiple and price level
Frequency: Once per bar per level
IB Break Alert:
Trigger: Price breaks Initial Balance
Message: Potential trend day warning
Frequency: Once per bar
Reversal Stopped Alert:
Trigger: Reversal trade hits stop loss
Message: Stop level and original entry
Frequency: Once per bar
Target Hit Alert:
Trigger: T1, T2, or T3 reached
Message: Which target and price level
Frequency: Once per bar
Users can enable/disable alerts individually based on preferences.
VISUAL CUSTOMIZATION
Extensive visual options:
Color Schemes:
All colors fully customizable:
ORB High, Low, Mid colors
Extension colors (bull/bear)
IB colors
VWAP colors
Momentum box colors
Session ORB colors
Display Options:
Line widths (1-5 pixels)
Box transparencies (50-95%)
Fill transparencies (80-98%)
Momentum box transparency
Label Behavior:
Label Modes:
All: Always show all labels
Adaptive: Fade labels far from price
Minimal: Only show labels very close to price
Label Proximity:
Adjustable threshold (1.0-5.0× ATR)
Labels beyond threshold fade or hide
Reduces clutter on wide-range charts
Gradient Fills:
Optional gradient zones between levels:
ORB High to Mid (bullish gradient)
ORB Mid to Low (bearish gradient)
Creates visual "heatmap" of tension
FREQUENTLY ASKED QUESTIONS
Q: What timeframe should I use?
A: ORB methodology is typically applied to intraday charts. Suggestions:
1-5 min: Active trading, multiple setups per day
5-15 min: Balanced view, clearer signals
15-30 min: Higher timeframe confirmation
The indicator works on any timeframe, but ORB is traditionally an intraday concept.
Q: Do I need the ML filter enabled?
A: This is a user choice:
ML Enabled:
Fewer signals
Potentially higher quality (filters low-probability)
Requires coefficient optimization
More complex
ML Disabled:
More signals
Simpler operation
Traditional ORB approach
May include lower-quality breakouts
Consider paper trading both approaches to determine preference.
Q: How should I interpret pContinue and pFail?
A: These are probability estimates from the logistic regression model:
pContinue 70% / pFail 25%: Model suggests favorable continuation odds
pContinue 45% / pFail 55%: Model suggests breakout likely to fail
pContinue 60% / pFail 35%: Borderline, depends on thresholds
Remember: These are mathematical outputs based on historical feature relationships. They are not certainties.
Q: Should I always take reversal trades?
A: Reversal trades are optional setups. Considerations:
Potential Advantages:
Trapped traders may need to exit
Clear stop loss levels
Defined targets
Potential Risks:
Counter-trend trading
Original breakout may resume
Requires quick reaction
Users should evaluate reversal setups like any other trade based on personal strategy and risk tolerance.
Q: What if ORB range is very small?
A: Small ranges may indicate:
Low volatility session opening
Potential for expansion later
Less reliable breakout levels
Considerations:
Larger ranges often more significant
Small ranges may need wider stops relative to range
ORB Range/ATR ratio helps normalize
The ML model includes this via the ORB Range/ATR feature.
Q: Can I use this on stocks, forex, crypto?
A: System is adaptable:
Stocks: Designed primarily for stock indices and equities. Use RTH mode.
Forex: Enable session ORBs. Volume filter less relevant. Adjust for 24-hour nature.
Crypto: Very volatile. Consider conservative confirmation method (Body). Higher volume thresholds.
Each market has unique characteristics. Extensive testing recommended.
Q: How do I optimize ML coefficients?
A: Systematic approach:
Collect data on 50-100+ breakouts
Note which succeeded/failed
Analyze feature values for each
Identify correlations
Adjust coefficients to emphasize predictive features
Validate on different time period
Iterate
Alternatively, use regression analysis on historical breakout data if you have programming skills.
Q: What does "Stopped Out" mean for reversals?
A: Reversal trade hit its stop loss:
Price moved against reversal position
Original breakout may have resumed
Trade closed at loss
Lines and labels gray out
Trade State → 7
This is part of normal trading - not all reversals succeed.
Q: Can I change ORB timeframe intraday?
A: ORB timeframe setting affects the next day's ORB. Current day's ORB remains fixed. To see different ORB sizes, you would need to change setting and wait for next session.
Q: Why do rejected breakouts show an 'X'?
A: When "Mark Rejected Breakout Candidates" enabled:
Small 'X' appears when ML filter rejects a breakout
Shows where system prevented a signal
Useful for model calibration
Helps evaluate if ML making good decisions
You can disable this marker if it creates clutter.
ADVANCED CONCEPTS
1. Adaptive vs. Static ORB:
Traditional ORB uses fixed time windows. This system adds adaptability through:
ML probability scoring (adapts to current conditions)
Multiple session ORBs (adapts to global markets)
Failed breakout detection (adapts when setup fails)
Real-time trade management (adapts as trade develops)
This creates a more dynamic approach than simple static levels.
2. Confluence Scoring:
System internally calculates confluence (agreement of factors):
Breakout direction
Volume confirmation
VWAP alignment
ML probability scores
Gap direction
Momentum strength
Higher confluence typically results in higher grade (A+, A, B+, etc.).
3. Trade State Machine:
The 8-state system provides complete trade lifecycle:
State 0: Waiting → No setup
State 1: Breakout → Monitoring for failure
State 2: Failed → (transition state)
State 3: Reversal Active → In counter-trend position
State 4: T1 Hit → First target reached
State 5: T2 Hit → Second target reached
State 6: T3 Hit → Third target reached (full success)
State 7: Stopped → Hit stop loss
State 8: Complete → Trade resolved
Each state has specific visual properties and logic.
4. Real-Time Performance Attribution:
MFE/MAE tracking provides insight:
Maximum Favorable Excursion (MFE):
Best price achieved during trade
Shows potential if optimal exit used
Educational metric for exit strategy analysis
Maximum Adverse Excursion (MAE):
Worst price against position
Shows drawdown during trade
Helps evaluate stop placement
These appear in Narrative Dashboard during active reversals.
THEORETICAL FOUNDATIONS
Why Opening Range Matters:
Several theories support ORB methodology:
1. Information Incorporation:
Opening period represents initial consensus on overnight news and pre-market sentiment. Range boundaries may reflect this information.
2. Order Flow:
Institutional traders often execute during opening period, establishing supply/demand zones.
3. Behavioral Finance:
Traders psychologically anchor to opening range levels. Self-fulfilling prophecy may strengthen these levels.
4. Market Microstructure:
Opening auction establishes price discovery. Breaks beyond may indicate new information or momentum.
Academic Note: While ORB is widely used, academic evidence on its effectiveness varies. Like all technical analysis, it should be evaluated empirically for each specific application.
Machine Learning in Trading:
This system uses supervised learning (logistic regression):
Advantages:
Interpretable (can see feature weights)
Fast calculation
Probabilistic output
Well-understood mathematically
Limitations:
Assumes linear relationships
Requires feature engineering
Needs periodic retraining
Not adaptive to regime changes automatically
More sophisticated ML (neural networks, ensemble methods) could potentially improve performance but at cost of interpretability and speed.
Failed Breakouts & Market Psychology:
Failed breakout trading exploits several concepts:
1. Stop Hunting:
Large players may push price to trigger stops, then reverse.
2. False Breakouts:
Insufficient conviction leads to failed breakout and quick reversal.
3. Trapped Traders:
Those who entered breakout now forced to exit, creating momentum opposite direction.
4. Mean Reversion:
After failed directional attempt, price may revert to range or beyond.
These are theoretical frameworks, not guaranteed patterns.
BEST PRACTICES - EDUCATIONAL SUGGESTIONS
1. Paper Trade Extensively:
Before live trading:
Test on historical data
Forward test in real-time (paper)
Evaluate statistics over 50+ occurrences
Understand system behavior in different conditions
2. Start with Simple Mode:
Initial learning:
Use Simple or Standard mode
Focus on primary ORB only
Master basic breakout interpretation
Add features incrementally
3. Optimize ML Coefficients:
If using ML filter:
Backtest on your specific instrument
Note which features predictive
Adjust coefficients systematically
Validate on out-of-sample data
Re-optimize periodically
4. Respect Risk Management:
Always:
Define maximum risk per trade (1-2% recommended)
Use system-provided stops
Size positions appropriately
Never override stops wider
Keep statistics of your actual trading
b]5. Understand Context:
Consider:
Is it a trending or ranging market?
What's the day type developing?
Is volume confirming moves?
Are you aligned with VWAP?
What's the overall market condition?
Context may inform which setups to emphasize.
6. Journal Results:
Track:
Which setup types work best for you
Your execution quality
Emotional responses to different scenarios
Missed opportunities and why
Losses and lessons
Systematic journaling improves over time.
FINAL EDUCATIONAL SUMMARY
ORB Fusion ML combines traditional Opening Range Breakout methodology with modern
enhancements:
✓ ML Probability Scoring: Filters breakouts using logistic regression
✓ Failed Breakout Detection: Automatic reversal trade generation
✓ Complete Trade Management: Real-time tracking with visual updates
✓ Multi-Session Support: Asian, London, NY ORBs for global markets
✓ Institutional Reference: VWAP and Initial Balance integration
✓ Comprehensive Statistics: Track performance across breakout types
✓ Full Customization: Three display modes, extensive visual options
✓ Educational Transparency: Dashboard shows all relevant metrics
This is an educational tool demonstrating advanced ORB concepts.
Critical Reminders:
The system:
✓ Identifies potential ORB breakout and reversal setups
✓ Provides ML-based probability estimates
✓ Tracks trades through complete lifecycle
✓ Offers comprehensive performance statistics
Users must understand:
✓ No system guarantees profitable results
✓ Past performance does not predict future results
✓ All indicators require proper risk management
✓ Paper trading essential before live trading
✓ Market conditions change unpredictably
✓ This is educational software, not financial advice
Success requires: Proper education, disciplined risk management, realistic expectations, personal responsibility for all trading decisions, and understanding that indicators are tools, not crystal balls.
For Educational Use Only - ORB Fusion ML Development Staff
⚠️ FINAL DISCLAIMER
This indicator and documentation are provided strictly for educational and informational purposes.
NOT FINANCIAL ADVICE: Nothing in this guide constitutes financial advice, investment advice, trading advice, or any recommendation to buy or sell any security or engage in any trading strategy.
NO GUARANTEES: No representation is made that any account will or is likely to achieve profits or losses similar to those shown. The statistics, probabilities, and examples are from historical backtesting and do not represent actual trading results.
SUBSTANTIAL RISK: Trading involves substantial risk of loss and is not suitable for every investor. The high degree of leverage can work against you as well as for you.
YOUR RESPONSIBILITY: You are solely responsible for your own trading decisions. You should conduct your own research, perform your own analysis, paper trade extensively, and consult with qualified financial advisors before making any trading decisions.
NO LIABILITY: The developers, contributors, and distributors of this indicator disclaim all liability for any losses or damages, direct or indirect, that may result from use of this indicator or reliance on any information provided.
PAPER TRADE FIRST: Users are strongly encouraged to thoroughly test this indicator in a paper trading environment before risking any real capital.
By using this indicator, you acknowledge that you have read this disclaimer, understand the substantial risks involved in trading, and agree that you are solely responsible for your own trading decisions and their outcomes.
Educational Software Only | Trade at Your Own Risk | Not Financial Advice
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
Kinetic Scalper [BULLBYTE]KINETIC SCALPER - ADVANCED MOMENTUM & CONFLUENCE TRADING SYSTEM
A SOPHISTICATED MULTI-FACTOR ANALYSIS INDICATOR FOR PRECISION ENTRIES
The Kinetic Scalper is a comprehensive trading analysis tool that combines volume-weighted momentum calculations, multi-oscillator divergence detection, and a proprietary 15-factor confluence scoring system to identify high-probability reversal setups across all timeframes.
WHAT MAKES THIS INDICATOR ORIGINAL
This is NOT a simple mashup of existing indicators.
The Kinetic Scalper features a completely custom momentum engine called the "Kinetic Pulse" - a volume-weighted momentum oscillator with Fisher Transform normalization that fundamentally differs from standard RSI or other momentum indicators. Every component feeds into a unified algorithmic framework designed specifically for this system.
KEY INNOVATIONS:
KINETIC PULSE ENGINE
Unlike standard RSI which uses simple price changes, the Kinetic Pulse applies:
→ Volume weighting to price movements (high-volume moves carry more weight)
→ EMA smoothing instead of traditional SMA (faster response to changes)
→ Fisher Transform normalization for improved signal clarity
→ Adaptive period adjustment based on current volatility regime
→ Result: A momentum oscillator that responds to conviction, not just price noise
15-FACTOR CONFLUENCE SCORING SYSTEM
Every signal is graded based on the number of confirming factors present:
→ Momentum position (oversold/overbought extremes)
→ Momentum velocity (direction change confirmation)
→ Momentum acceleration (strength of reversal)
→ Multi-oscillator divergence (price vs. 3 oscillators)
→ Volume confirmation (above-average participation)
→ Volume delta analysis (buying vs. selling pressure)
→ Higher timeframe alignment (trend confirmation from larger timeframe)
→ Session timing (major forex session awareness)
→ Structure clearance (clear path to profit targets)
→ Support/resistance proximity (confluence with key levels)
→ Market regime filtering (trending vs. choppy conditions)
Signals are graded A+, A, or B based on how many factors align:
• CONSERVATIVE MODE: A+ requires 12+ factors, A requires 9+, B requires 7+
• BALANCED MODE: A+ requires 10+ factors, A requires 7+, B requires 5+
• AGGRESSIVE MODE: A+ requires 8+ factors, A requires 5+, B requires 3+
TRADE ANALYSIS STATE MACHINE
A sophisticated monitoring system that tracks trade conditions in real-time using:
→ 5-state analysis framework (Factors Aligned / Positive Bias / Mixed Signals / Factors Weakening / Negative Bias)
→ Hysteresis-based transitions (different thresholds to enter vs. exit states)
→ Confidence smoothing with EMA (reduces noise, prevents flip-flopping)
→ Minimum commitment periods before state changes
→ Override logic for significant events (near TP/SL, momentum reversals)
→ Result: Stable, actionable guidance that doesn't change on every bar
INSTRUMENT-AWARE CALIBRATION
Automatically detects what you're trading and applies optimized parameters:
→ Forex Majors: Standard ATR, high session weight
→ Forex Crosses: Tighter stops, moderate session weight
→ Crypto: Wider stops (1.8x multiplier), reduced session weight (24/7 markets)
→ Indices: Moderate-wide stops, high session weight
→ Commodities: Moderate stops, moderate session weight
WHAT THIS INDICATOR DOES
The Kinetic Scalper is designed to identify high-confluence reversal opportunities by analyzing multiple dimensions of market behavior simultaneously.
CORE FUNCTIONS:
1. SIGNAL GENERATION
→ Identifies potential reversal points at oversold/overbought extremes
→ Confirms with multi-oscillator divergence detection
→ Validates with volume, higher timeframe, and structural analysis
→ Filters out low-probability setups automatically
→ Grades signals based on total confluence factors present
2. AUTOMATED TRADE TRACKING
→ Calculates structure-based or ATR-based stop loss levels
→ Projects take profit targets using risk-to-reward ratios
→ Monitors live position status (P/L, distance to targets, R-multiple)
→ Tracks TP1 and TP2 hits automatically
→ Displays outcome markers (TP HIT, PARTIAL WIN, STOPPED)
3. REAL-TIME CONDITION MONITORING
→ Analyzes 6 factor categories during active trades
→ Provides confidence scoring (0-100 scale)
→ Generates actionable guidance based on current market state
→ Alerts when conditions deteriorate or improve
→ Helps with trade management decisions
4. COMPREHENSIVE MARKET ANALYSIS
→ Session detection (Asian, London, New York, Overlap)
→ Volatility regime identification (Low, Normal, High, Extreme)
→ Trend state classification (Trending Up/Down, Ranging, Transitioning)
→ Volume analysis (relative volume and delta approximation)
→ Choppiness filtering (blocks signals in ranging markets)
WHY USE THIS INDICATOR
PROBLEM: Most momentum indicators generate too many false signals at extremes.
SOLUTION: The Kinetic Scalper requires MULTIPLE confirming factors before generating a signal, dramatically reducing noise and focusing on high-confluence setups.
ADVANTAGES:
✓ QUALITY OVER QUANTITY
→ Signal grading ensures you can filter for only the highest-quality setups
→ A+ signals have 10-12+ confirming factors aligned
→ Cooldown periods prevent over-trading the same move
✓ COMPLETE TRADE FRAMEWORK
→ Entry signals with confluence justification
→ Calculated stop loss based on market structure or ATR
→ Two profit targets with clear risk-to-reward ratios
→ Live trade monitoring with factor analysis
→ Outcome tracking and visual markers
✓ ADAPTIVE TO MARKET CONDITIONS
→ Volatility-based period adjustment for momentum calculations
→ Instrument-specific ATR multipliers
→ Session awareness for forex traders
→ Higher timeframe trend filtering
→ Automatic regime detection (trending vs. choppy)
✓ TRANSPARENT METHODOLOGY
→ Every input has detailed tooltips explaining its purpose
→ Signal tooltips show exactly why a signal was generated
→ Dashboard displays all relevant market conditions
→ Factor scores are visible during trades
→ No "black box" mystery calculations
✓ NON-REPAINTING & RELIABLE
→ All signals use barstate.isconfirmed (only on closed bars)
→ Higher timeframe data uses lookahead_off with historical offset
→ No future data access or repainting behavior
→ What you see is what you get - signals don't disappear or move
HOW THE INDICATOR WORKS
SIGNAL GENERATION PROCESS:
STEP 1: MOMENTUM ANALYSIS
The Kinetic Pulse engine calculates volume-weighted momentum:
→ Price changes are weighted by volume ratio vs. 20-bar average
→ High-volume moves have more influence on the oscillator
→ Gains and losses are smoothed using EMA (not SMA like RSI)
→ Fisher Transform is applied for normalization to 0-100 scale
→ Result: Momentum reading that emphasizes conviction, not noise
STEP 2: REVERSAL DETECTION
The indicator looks for potential reversal conditions:
→ Kinetic Pulse reaching oversold zone (below dynamic lower threshold)
→ Momentum velocity turning positive after being negative (for longs)
→ OR bullish divergence detected on multiple oscillators
→ Price making lower lows while oscillators make higher lows = divergence
STEP 3: MULTI-OSCILLATOR DIVERGENCE CONFIRMATION
Divergence is validated across three sources:
→ Kinetic Pulse divergence
→ CCI divergence
→ Stochastic divergence
→ Multiple oscillators confirming divergence increases signal reliability
STEP 4: CONFLUENCE FACTOR SCORING
The system evaluates all 15 possible confirming factors:
→ Momentum position: Is pulse oversold/overbought? (+0 to +2 points)
→ Momentum direction: Is velocity reversing? (+0 to +2 points)
→ Momentum acceleration: Is reversal strengthening? (+0 to +1 point)
→ Divergence count: How many oscillators show divergence? (+0 to +2 points)
→ Volume strength: Is volume above 1.3x average? (+0 to +1 point)
→ Volume delta: Is cumulative delta positive/negative? (+0 to +1 point)
→ HTF alignment: Does higher timeframe support direction? (+0 to +2 points)
→ Session timing: Is it a prime trading session? (+0 to +1 point)
→ Clear air: Is path to targets clear of obstacles? (+0 to +1 point)
→ Structure confluence: Are we near support/resistance? (+0 to +1 point)
→ Market regime: Is market trending, not choppy? (+0 to +1 point)
Total possible score: 15 points
Minimum for signal: 3-12 points depending on sensitivity mode
STEP 5: FILTER VALIDATION
Before generating a signal, additional checks are performed:
→ Volume must be above minimum threshold (if filter enabled)
→ Higher timeframe must not oppose the signal direction (if filter enabled)
→ Target path must be clear of major resistance/support (if filter enabled)
→ Volatility must not be EXTREME (blocks signals in chaos)
→ Risk-to-reward ratio must meet minimum requirement
→ Cooldown period must have elapsed since last signal
STEP 6: SIGNAL GRADING
If all filters pass, the signal is graded based on score:
→ A+ Grade: Highest confluence (8-12+ factors depending on sensitivity)
→ A Grade: High confluence (5-9+ factors)
→ B Grade: Moderate confluence (3-7+ factors)
Only graded signals (A+, A, or B) are displayed.
STEP 7: TRADE LEVEL CALCULATION
Stop loss and targets are calculated automatically:
STOP LOSS METHODS:
• Structure-Based: Uses recent swing low/high with ATR buffer, constrained by min/max ATR limits
• ATR-Based: Pure ATR multiplier with min/max constraints
• Fixed ATR: Simple ATR multiplier, no adjustments
TARGET CALCULATION:
• TP1: Entry ± (Stop Distance × Target 1 R:R)
• TP2: Entry ± (Stop Distance × Target 2 R:R)
• Default: TP1 at 1.0 R:R (1:1), TP2 at 2.0 R:R (1:2)
STEP 8: TRADE MONITORING
Once a signal is taken, the indicator tracks:
→ Current P/L in ticks and R-multiples
→ Distance to each target in ATR units
→ Distance to stop loss in ATR units
→ TP1 hit detection (marks with label, updates lines)
→ TP2 hit detection (closes trade, marks outcome)
→ Stop loss hit detection (closes trade, differentiates partial vs. full loss)
STEP 9: FACTOR ANALYSIS (DURING TRADES)
The Trade Analysis Panel monitors 6 key factor categories:
→ Momentum: Is momentum still aligned with trade direction? (-15 to +15 pts)
→ Position: Current R-multiple position (-12 to +12 pts)
→ Volume: Is volume still supportive? (-6 to +6 pts)
→ HTF Alignment: Does HTF still support trade? (-6 to +8 pts)
→ Target Proximity: How close are we to targets? (0 to +10 pts)
→ Stop Proximity: Are we dangerously close to stop? (-15 to +3 pts)
Raw scores are summed and smoothed using 5-bar EMA to create Confidence Score (0-100).
STEP 10: STATE MACHINE TRANSITIONS
Based on smoothed confidence, the system transitions between 5 states:
→ FACTORS ALIGNED (72+): Everything looks good
→ POSITIVE BIAS (58-72): Conditions favorable
→ MIXED SIGNALS (48-58): Neutral conditions
→ FACTORS WEAKENING (22-48): Concerning signals
→ NEGATIVE BIAS (<22): Poor conditions
Hysteresis prevents rapid flipping between states (different entry/exit thresholds).
RECOMMENDED TIMEFRAMES & INSTRUMENTS
TIMEFRAME VERSATILITY:
Despite the name "Scalper," this indicator works on ALL timeframes:
✓ LOWER TIMEFRAMES (1m - 15m)
→ Ideal for: Scalping and very short-term trades
→ Expect: More signals, faster trades, requires active monitoring
→ Best for: Forex majors, liquid crypto pairs
→ Tip: Use Conservative sensitivity to reduce noise
✓ MID TIMEFRAMES (15m - 1H)
→ Ideal for: Intraday trading and day trading
→ Expect: Moderate signal frequency, 1-4 hour trade duration
→ Best for: Forex, indices, major crypto
→ Tip: Balanced sensitivity works well here
✓ HIGHER TIMEFRAMES (4H - Daily)
→ Ideal for: Swing trading and position trading
→ Expect: Fewer signals, higher-quality setups, multi-day trades
→ Best for: All instruments
→ Tip: Can use Aggressive sensitivity for more opportunities
INSTRUMENT COMPATIBILITY:
✓ FOREX MAJORS (EUR/USD, GBP/USD, USD/JPY, etc.)
→ Auto-detected or manually select "Forex Major"
→ Session filtering is highly valuable here
→ London/NY overlap generates best signals
✓ FOREX CROSSES (EUR/GBP, AUD/NZD, etc.)
→ Auto-detected or manually select "Forex Cross"
→ Slightly tighter stops applied automatically
→ Session weight reduced vs. majors
✓ CRYPTOCURRENCIES (BTC, ETH, SOL, etc.)
→ Auto-detected or manually select "Crypto"
→ Wider stops (1.8x multiplier) due to volatility
→ Session filtering less relevant (24/7 markets)
→ Works well on both spot and perpetual futures
✓ INDICES (S&P 500, NASDAQ, DAX, etc.)
→ Auto-detected or manually select "Index"
→ Session opens (NY, London) are important
→ Moderate stop widths applied
✓ COMMODITIES (Gold, Silver, Oil, etc.)
→ Auto-detected or manually select "Commodity"
→ Moderate stops and session awareness
→ Works well on both spot and futures
VISUAL ELEMENTS EXPLAINED
SIGNAL MARKERS:
The indicator offers 3 display styles (choose in settings):
• PREMIUM STYLE (Default)
→ Signal appears below/above candles with connecting line
→ Background panel with grade badge (LONG , SHORT , etc.)
→ Entry price displayed
→ Direction arrow pointing to entry candle
→ Most informative, best for detailed analysis
• MINIMAL STYLE
→ Simple dot marker with grade text next to it
→ Clean, unobtrusive design
→ Best for mobile devices or cluttered charts
→ Less visual noise
• CLASSIC STYLE
→ Diamond marker with grade badge below/above
→ Traditional indicator aesthetic
→ Good balance between info and simplicity
ALL STYLES INCLUDE:
→ Signal tooltips with complete trade plan details
→ Grade display (A+, A, or B)
→ Color coding (bright colors for A+, standard for A/B)
SIGNAL TOOLTIP CONTENTS:
When you hover over any signal marker, you'll see:
→ Signal direction and grade
→ Confluence score (actual points vs. required)
→ Reason for signal (divergence type, reversal pattern)
→ Complete trade plan (Entry, Stop, TP1, TP2)
→ Risk in ticks
→ Risk-to-reward ratios
→ Market conditions at signal (Pulse value, HTF status, Volume, Session)
TRADE LEVEL LINES:
When Trade Tracking is enabled:
• ENTRY LINE (Yellow/Gold)
→ Solid horizontal line at entry price
→ Shaded zone around entry (±ATR buffer)
→ Label showing entry price
→ Extends 20-25 bars into future
• STOP LOSS LINE (Orange/Red)
→ Dashed line at stop level
→ Label showing stop price and distance in ticks
→ Turns dotted and changes color after TP1 hit (breakeven implied)
→ Deleted when trade closes
• TAKE PROFIT 1 LINE (Blue)
→ Dotted line at TP1 level
→ Label showing price and R:R ratio (e.g., "1:1.0")
→ Turns solid and changes to green when hit
→ Deleted after TP1 hit
• TAKE PROFIT 2 LINE (Blue)
→ Solid line at TP2 level
→ Label showing price and R:R ratio (e.g., "1:2.0")
→ This is the "full win" target
→ Deleted when trade closes
OUTCOME MARKERS:
When trade milestones are reached:
• - Green label appears when first target is touched
• - Green label when second target is touched (trade complete)
• - Red label if stop loss hit before any target
• - Orange label if TP1 hit but then stopped out
PREVIOUS DAY LEVELS:
If enabled (Show Previous Day Levels):
• PDH (Previous Day High) - Solid red/orange line
→ Label shows "PDH: "
→ Useful resistance reference for intraday trading
• PDL (Previous Day Low) - Solid green line
→ Label shows "PDL: "
→ Useful support reference for intraday trading
BACKGROUND TINTS:
Subtle background colors indicate states:
→ Light green tint: Active long position being tracked
→ Light red tint: Active short position being tracked
→ Light orange tint: Extreme volatility warning (signals blocked)
DASHBOARD GUIDE
The indicator features TWO dashboard panels:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
MAIN DASHBOARD (Top Right by default)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WHEN NO TRADE IS ACTIVE:
→ Bias: Current market bias (BULLISH, BEARISH, NEUTRAL, LEAN LONG/SHORT)
→ Based on Kinetic Pulse position and velocity
→ Helps you understand overall momentum direction
→ Pulse: Current Kinetic Pulse value (0-100 scale)
→ <30 = Oversold (potential long setups developing)
→ >70 = Overbought (potential short setups developing)
→ 40-60 = Neutral zone
→ Volatility: Current volatility regime (LOW, NORMAL, HIGH, EXTREME)
→ Calculated from ATR ratio vs. 100-period average
→ EXTREME volatility blocks all signals (too chaotic)
→ Trend: Market state classification
→ TREND UP / TREND DOWN: ADX > 25, directional movement clear
→ RANGING: ADX < 20, choppy conditions
→ TRANSITIONING: ADX 20-25, developing conditions
→ VOLATILE: Extreme ATR regime
→ Session: Current forex session
→ ASIAN (00:00-08:00 UTC)
→ LONDON (07:00-16:00 UTC)
→ NEW YORK (13:00-22:00 UTC)
→ LDN/NY (13:00-16:00 UTC) - Overlap period, highest volatility
→ OFF-HOURS: Outside major sessions
→ Volume: Current volume vs. 20-bar average
→ Displayed as multiplier (e.g., "1.45x" = 45% above average)
→ Green if >1.3x (high volume, bullish for signal quality)
→ Red if <0.8x (low volume, bearish for signal quality)
→ HTF: Higher timeframe analysis status
→ BULLISH: HTF momentum supports longs
→ BEARISH: HTF momentum supports shorts
→ NEUTRAL: No clear HTF direction
→ Best Score: Highest confluence score currently available
→ Shows both long and short scores
→ Format: " / "
→ Example: "8/7 " means long score is 8, threshold is 7, long is leading
→ Helps you anticipate which direction might signal next
→ PDH/PDL: Previous day high and low prices
→ Quick reference for intraday support/resistance
WHEN TRADE IS ACTIVE:
→ Trade: Direction and grade (e.g., "LONG ")
→ Entry: Entry price of current trade
→ P/L: Current profit/loss
→ Shown in ticks and R-multiples
→ Format: "+45 | +0.75R" or "-20 | -0.35R"
→ Green when positive, red when negative
→ TP1: First target status
→ Shows price and distance if not hit
→ Shows "HIT" in green if reached
→ TP2: Second target price and distance
→ Stop: Stop loss price and current distance from stop
→ Bars: Number of bars since entry (trade duration)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TRADE ANALYSIS PANEL (Bottom Left by default)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This panel provides algorithmic analysis of market conditions. It does NOT provide investment advice or recommendations.
WHEN NO TRADE IS ACTIVE:
Shows scanning status and signal readiness:
→ Long/Short Readiness Gauges
→ Visual bar showing proximity to signal threshold
→ Score display (e.g., "8/7" means 8 points scored, 7 needed)
→ "RDY" indicator when threshold reached
→ Status Messages
→ "Scanning for setups..." - Normal scanning mode
→ "Long setup ready - cooldown: X bars" - Signal qualified but in cooldown
→ "Oversold conditions - watch for reversal" - Setup developing
→ "Choppy conditions detected" - Warning about market state
→ "Extreme volatility - signals blocked" - Safety filter active
WHEN TRADE IS ACTIVE:
Header shows current analysis state:
→ FACTORS ALIGNED (Green) - Everything looks good, confidence 72+
→ POSITIVE BIAS (Light Green) - Conditions favorable, confidence 58-72
→ MIXED SIGNALS (Blue) - Neutral conditions, confidence 48-58
→ FACTORS WEAKENING (Orange) - Concerning signals, confidence 22-48
→ NEGATIVE BIAS (Red) - Poor conditions, confidence <22
Confidence Score:
→ Displayed as percentage (0-100%)
→ Visual gauge (|||||.....)
→ Trend indicator (Rising, Falling, Stable)
→ Shows momentum of confidence change
Factor Breakdown (if enabled):
Shows 6 factor categories with individual scores:
→ Momentum: Is momentum aligned with trade? (-15 to +15 points)
→ Positive if velocity matches trade direction
→ Negative if momentum opposes trade
→ Position: Current R-multiple analysis (-12 to +12 points)
→ Positive if trade is in profit
→ Negative if underwater
→ Score increases as profit grows
→ Volume: Is volume supportive? (-6 to +6 points)
→ Positive if volume above average
→ Negative if volume weak
→ HTF Align: Higher timeframe status (-6 to +8 points)
→ Positive if HTF still supports trade direction
→ Negative if HTF turned against trade
→ Target: Proximity to profit targets (0 to +10 points)
→ Higher score when approaching targets
→ Bonus if TP1 already hit and near TP2
→ Stop Dist: Distance from stop loss (-15 to +3 points)
→ Negative if dangerously close to stop (<0.3 ATR)
→ Positive if well away from stop (>1.5 ATR)
Each factor shows:
• Score value with +/- indicator
• Trend symbol: + (improving), - (deteriorating), = (stable)
• Visual gauge
Guidance Messages:
→ "TARGET 2 APPROACHING" - TP2 within 0.3 ATR
→ "TARGET 1 APPROACHING" - TP1 within 0.3 ATR
→ "STOP PROXIMITY WARNING" - Stop within 0.3 ATR
→ "Factors aligned - Holding" - Positive state, stay in trade
→ "Conditions favorable" - Still looking good
→ "Conditions mixed - " - Neutral assessment
→ "Factors deteriorating" - Warning of weakening setup
→ "Confluence weakening - secure gains" - Consider exit if profitable
COMPACT MODE (Mobile-Friendly):
→ Reduces panel size by showing only essential info
→ Factor icons instead of full breakdowns
→ Simplified guidance messages
→ Perfect for smaller screens
SETTINGS GUIDE
MASTER SETTINGS:
Instrument Type
→ Purpose: Optimizes ATR multipliers and session weights for your asset
→ Options: Auto-Detect (recommended), Forex Major, Forex Cross, Crypto, Index, Commodity
→ Default: Auto-Detect
→ When to change: If auto-detection is incorrect for your symbol
Signal Sensitivity
→ Purpose: Controls how many factors required before generating signals
→ Options:
• Conservative: Requires 12+ for A+, 9+ for A, 7+ for B (fewer, highest quality)
• Balanced: Requires 10+ for A+, 7+ for A, 5+ for B (recommended)
• Aggressive: Requires 8+ for A+, 5+ for A, 3+ for B (more frequent)
→ Default: Balanced
→ When to change: If you want fewer signals (Conservative) or more opportunities (Aggressive)
Enable Trade Signals
→ Purpose: Master on/off switch for signal generation
→ Default: ON
→ When to disable: If you only want to use the analysis dashboards without signals
Enable Trade Tracking
→ Purpose: Tracks active trades and monitors conditions until TP/SL hit
→ Default: ON
→ When to disable: If you manage trades manually and don't want automatic tracking
Show Entry/Stop/Target Levels
→ Purpose: Displays trade plan lines and labels on chart
→ Default: ON
→ When to disable: If you prefer clean charts or manage levels yourself
DISPLAY SETTINGS:
Color Theme
→ Purpose: Optimizes colors for your chart background
→ Options: Dark (for dark charts), Light (for light charts)
→ Default: Dark
Signal Display Style
→ Purpose: Visual style of signal markers
→ Options:
• Premium: Badge with line and background panel (most detailed)
• Minimal: Simple dot with grade text (cleanest)
• Classic: Diamond marker with badge (traditional)
→ Default: Premium
Signal Distance
→ Purpose: How far signal labels appear from price bars (in ATR units)
→ Range: 0.5 to 10.0
→ Default: 2.0
→ When to adjust: Increase to 3.0-4.0 if signals hide behind candle wicks
TP/SL Label Distance
→ Purpose: Spacing of price labels to prevent overlap
→ Range: 0.5 to 5.0
→ Default: 1.5
Show Previous Day Levels
→ Purpose: Display PDH/PDL reference lines
→ Default: ON
→ Best for: Intraday traders who respect previous day levels
MAIN DASHBOARD:
Show Main Dashboard
→ Purpose: Toggle visibility of market conditions table
→ Default: ON
Main Dashboard Position
→ Options: Top Right, Top Left, Bottom Right, Bottom Left
→ Default: Top Right
→ When to change: To avoid overlap with TradingView's built-in panels
TRADE ANALYSIS PANEL:
Show Trade Analysis Panel
→ Purpose: Toggle factor analysis dashboard
→ Default: ON
Analysis Panel Position
→ Options: Top Right, Top Left, Bottom Right, Bottom Left, Middle Right, Middle Left
→ Default: Bottom Left
→ Recommended: Bottom Right or Middle Right to avoid overlap with Main Dashboard
Compact Mode
→ Purpose: Reduces panel size for mobile or smaller screens
→ Default: OFF
→ When to enable: Mobile trading, small screens, or minimalist preference
Show Factor Details
→ Purpose: Displays individual factor scores vs. overall confidence only
→ Default: ON
→ When to disable: For more compact view showing only state and confidence
RISK MANAGEMENT:
Stop Loss Method
→ Purpose: How stop loss distance is calculated
→ Options:
• Structure-Based: Uses swing highs/lows with ATR buffer (recommended)
• ATR-Based: Pure ATR multiplier with min/max constraints
• Fixed ATR: Simple multiplier, no adjustments
→ Default: Structure-Based
→ Impact: Structure-Based respects market geometry but constrains within safe limits
ATR Stop Multiplier
→ Purpose: Multiplier for ATR-based stop calculation
→ Range: 0.5 to 3.0
→ Default: 1.5
→ When to adjust:
• Increase to 2.0-2.5 for more breathing room (fewer false stops)
• Decrease to 1.0-1.2 for tighter stops (but more stop-outs)
Maximum Stop Distance (ATR)
→ Purpose: Cap on stop width to prevent excessive risk
→ Range: 1.0 to 5.0
→ Default: 2.5
→ Impact: If structure-based stop exceeds this, ATR-based stop is used instead
Minimum Stop Distance (ATR)
→ Purpose: Floor on stop width to avoid noise-induced stops
→ Range: 0.2 to 1.0
→ Default: 0.5
→ Impact: Prevents stops too tight to survive normal volatility
Target 1 Risk/Reward Ratio
→ Purpose: R:R for first profit target
→ Range: 0.5 to 2.0
→ Default: 1.0 (1:1 ratio)
→ Common values: 1.0 for quick profit taking, 1.5 for patient trading
Target 2 Risk/Reward Ratio
→ Purpose: R:R for second profit target (full win)
→ Range: 1.0 to 4.0
→ Default: 2.0 (1:2 ratio)
→ Common values: 2.0-3.0 for balanced risk/reward
Minimum R:R Required
→ Purpose: Filters out signals with poor risk/reward
→ Range: 0.5 to 2.0
→ Default: 1.0
→ Impact: Signals where potential reward doesn't meet this ratio are rejected
→ WARNING: Always ensure your position sizing means a stop loss = no more than 1-2% of your account, regardless of R:R ratio
SIGNAL FILTERS:
Session Awareness
→ Purpose: Weights signals higher during major forex sessions
→ Default: ON
→ Impact: Doesn't block signals, but session quality factors into scoring
→ Best for: Forex traders
Session Timezone
→ Purpose: Timezone for session calculations
→ Options: UTC, America/New_York, Europe/London, Asia/Tokyo, Asia/Hong_Kong
→ Default: UTC
→ When to change: Match your broker's server time
Higher Timeframe Alignment
→ Purpose: Checks HTF momentum before generating signals
→ Default: ON
→ Impact: Filters counter-trend signals, improves quality
→ Recommended: Keep enabled
HTF Timeframe
→ Purpose: Which higher timeframe to check
→ Default: Auto (blank field)
→ Auto selection:
• 1m chart → 5m HTF
• 5m chart → 15m HTF
• 15m chart → 1H HTF
• 1H chart → 4H HTF
• 4H+ chart → Daily HTF
→ Manual override: Enter any timeframe (e.g., "60" for 1-hour)
Volume Confirmation
→ Purpose: Requires above-average volume for signals
→ Default: ON
→ Impact: Filters low-liquidity false signals
→ Recommended: Keep enabled
Minimum Volume Ratio
→ Purpose: Volume threshold vs. 20-bar average
→ Range: 0.3 to 2.0
→ Default: 0.8 (80% of average)
→ When to adjust:
• Increase to 1.2-1.5 for only high-volume signals
• Decrease to 0.5-0.7 for more permissive filtering
Structure Clearance Check
→ Purpose: Ensures clear path to targets (no nearby resistance/support)
→ Default: ON
→ Impact: Prevents trades with immediate obstacles
→ Recommended: Keep enabled
Minimum Bars Between Signals
→ Purpose: Cooldown period after each signal
→ Range: 1 to 10
→ Default: 3
→ Impact: After a signal, this many bars must pass before another in same direction
→ When to adjust:
• Increase to 5-7 to prevent over-trading
• Decrease to 1-2 for faster re-entries
ADVANCED TUNING:
Momentum Period
→ Purpose: Base period for Kinetic Pulse calculation
→ Range: 5 to 30
→ Default: 14
→ When to adjust:
• Lower (8-10): More responsive, noisier
• Higher (18-21): Smoother, slower to react
→ Note: If Adaptive Period enabled, this is adjusted automatically
Adaptive Period
→ Purpose: Auto-adjusts momentum period based on volatility
→ Default: ON
→ Impact: Shortens period in high volatility, lengthens in low volatility
→ Recommended: Keep enabled for automatic optimization
Divergence Lookback
→ Purpose: How far back to search for divergence patterns
→ Range: 10 to 60
→ Default: 30
→ When to adjust:
• Shorter (15-20): Only recent divergences
• Longer (40-50): Catches older divergences (may be less relevant)
Swing Detection Bars
→ Purpose: Bars required on each side to confirm swing high/low
→ Range: 2 to 7
→ Default: 3
→ Impact on stops:
• Lower (2-3): More swing points, potentially tighter stops
• Higher (5-7): Only major swings, wider stops
Choppiness Index Threshold
→ Purpose: Threshold above which market considered choppy
→ Range: 38.2 to 80.0
→ Default: 61.8
→ Impact:
• Lower (50-55): Stricter quality filter (fewer signals in ranging markets)
• Higher (65-70): More permissive (allows signals in choppier conditions)
HOW TO READ SIGNALS
SIGNAL ANATOMY:
When a signal appears, you'll see:
1. DIRECTIONAL MARKER
→ Arrow, dot, or diamond pointing to entry candle (depends on style)
→ Positioned below price for LONG, above price for SHORT
→ Connected to price with line (Premium style)
2. GRADE BADGE
→ Displays signal quality: LONG , SHORT , etc.
→ Color coding:
• Bright green/cyan for A+ longs
• Standard green for A/B longs
• Bright pink/magenta for A+ shorts
• Standard red for A/B shorts
3. ENTRY PRICE (Premium style only)
→ Shows exact entry price at signal generation
4. TOOLTIP (all styles)
→ Hover over signal to see complete trade plan
→ Includes: Entry, Stop, TP1, TP2, Risk, R:R ratios, market conditions, signal reason, confluence score
INTERPRETING GRADES:
→ A+ SIGNALS (Highest Quality)
• 8-12+ confirming factors aligned
• Multiple divergences OR strong momentum reversal
• HTF alignment + volume + session timing + clear structure
• These are your highest-probability setups
• Recommended action: Give these priority, consider larger position size
→ A SIGNALS (High Quality)
• 5-9+ confirming factors aligned
• Good confluence, most key factors present
• Missing 1-2 optimal conditions
• These are still quality trades
• Recommended action: Standard position size, solid setups
→ B SIGNALS (Moderate Quality)
• 3-7+ confirming factors aligned
• Minimum viable confluence
• May be missing HTF alignment, volume, or session timing
• Higher variance outcomes
• Recommended action: Smaller position size or skip if conservative
SIGNAL NARRATIVE:
Each signal tooltip includes a narrative explaining WHY it was generated:
→ "Multi-divergence at oversold extreme"
• Multiple oscillators showing bullish divergence
• Kinetic Pulse in oversold zone
• High-quality reversal setup
→ "Bullish divergence near support"
• Divergence detected
• Price near key support level (swing low or PDL)
• Structure confluence
→ "Momentum reversal with HTF alignment"
• Kinetic Pulse velocity reversing
• Higher timeframe supports direction
• Strong trend-following setup
→ "Oversold momentum reversal"
• Extreme Kinetic Pulse reading reversing
• May not have divergence but strong momentum shift
READING THE TRADE PLAN:
Every signal comes with a complete trade plan:
→ ENTRY: The close price of the signal candle
• This is where the signal triggered
• If using limit orders, you might improve on this price
→ STOP: Calculated stop loss level
• Based on your Stop Loss Method setting
• Distance shown in ticks
• Risk tolerance: Ensure this represents ≤1-2% of your account
→ TP1: First profit target
• Default: 1:1 risk-reward
• This is your partial profit or first exit
• Consider taking 50% off at TP1
→ TP2: Second profit target
• Default: 1:2 risk-reward
• This is your "full win" target
• Hold remaining position for this level
SIGNAL FREQUENCY EXPECTATIONS:
Frequency varies by timeframe, sensitivity, and market conditions:
→ AGGRESSIVE MODE
• Lower timeframes (1m-5m): 5-15 signals per day
• Mid timeframes (15m-1H): 2-5 signals per day
• Higher timeframes (4H-D): 1-3 signals per week
→ BALANCED MODE (Default)
• Lower timeframes: 3-8 signals per day
• Mid timeframes: 1-3 signals per day
• Higher timeframes: 2-5 signals per week
→ CONSERVATIVE MODE
• Lower timeframes: 1-4 signals per day
• Mid timeframes: 0-2 signals per day
• Higher timeframes: 1-3 signals per week
Note: Frequency also depends on market volatility and trending vs. ranging conditions.
Example - Kinetic Scalper Trade Sequence
Here's an example showing the complete trade lifecycle with all dashboard transitions, annotations, and descriptions.
INSTRUMENT & TIMEFRAME DETAILS
Symbol: Nifty 50 Index (NSE)
Date: December 15, 2025
Session: London session (active trading hours)
Instrument Type: Index (auto-detected)
TRADE SEQUENCE BREAKDOWN
SCREENSHOT 1: Pre-Signal Setup Building (Image 1)
Time: ~12:00-14:30 UTC+5:30(approx.)
Price Action: Uptrend showing signs of exhaustion near 26,200
Market State: Price at session highs
Main Dashboard (Top Right):
- Bias: LEAN SHORT
- Pulse: 58.9 (approaching overbought)
- Volatility: NORMAL
- Trend: TRANSITIONING
- Session: LONDON (favorable timing)
- Volume: 0.98x (slightly below average)
- HTF: BULLISH (caution for counter-trend)
- Best Score: 9/5 (Short score building)
- PDH/PDL: 26098.25 / 25938.95
Trade Analysis Panel (Bottom Left):
- Status: NO ACTIVE TRADE
- Long Score: 5/5 (RDY)
- Short Score: 9/5 (RDY)
- Panel Message: "Short pattern developing - score: 9"
Description :
Setup Development Phase: The indicator identifies a potential short opportunity as price reaches the previous day's high. The short confluence score has climbed to 9/15 points, meeting the 'Balanced' sensitivity threshold for a Grade B signal. Notice the 'LEAN SHORT' bias and the Kinetic Pulse reading of 58.9 approaching overbought territory. The Trade Analysis panel shows 'Short pattern developing' with 9/5 factors aligned. Key factors: momentum approaching reversal zone, price at resistance (PDH), and London session providing favorable conditions.
SCREENSHOT 2: Signal Generated & Trade Entered (Image 2)
Time: ~13:00 UTC+5:30 (signal bar)
Entry Price: 26,184.65
Signal Grade: Grade
Main Dashboard (Top Right):
- Trade: SHORT
- Entry: 26184.65
- P/L: 5.95 pts | +0.2R (early positive movement)
- TP1: 26157.00 (33.2 pts away)
- TP2: 26129.35 (60.84 pts away)
- Stop: 26212.30 (22.1 pts away)
- Bars: 1 (just entered)
Trade Analysis Panel (Bottom Left):
- Header: TRADE ANALYSIS
- Status Bar: "Conditions mixed - improving 57%"
- Confidence: 57% RISING
- Factor Breakdown:
- Momentum: -4 (velocity not yet aligned)
- Position: +4 (slight profit)
- Volume: +2 = (volume present)
- HTF Align: +2 = (not strongly aligned)
- Target: +0 - (far from TP)
- Stop Dist: +3 - (good distance)
- Bottom Status: "Conditions mixed - Monitoring"
- Disclaimer: "Analysis only - Not financial advice"
Description:
Signal Activation: A Grade A short signal triggers at 26,184.65 after the short confluence score reached qualifying levels. The indicator places a structure-based stop loss at 26,212.30 (27.65 points risk) with dual targets at 1:1 and 1:2 risk-reward ratios.
The Trade Analysis Panel immediately begins monitoring with an initial confidence score of 57% - classified as 'MIXED SIGNALS' but showing a 'RISING' trend. Factor analysis reveals: momentum not yet aligned (-4 points as price just reversed), position slightly favorable (+4 points already +0.2R), volume adequate (+2), HTF showing weak alignment (+2 as we're counter-trend), stop well-placed (+3), but targets still distant (0 points).
Notice how the Main Dashboard switches from market scanning mode to active trade tracking, now displaying entry price, live P/L in both points (5.95 pts) and R-multiples (+0.2R), and distances to all key levels. The analysis panel provides real-time factor scoring to help monitor trade health.
SCREENSHOT 3: TP1 Hit - Trade Performing Well (Image 3)
Time: ~14:20 UTC+5:30(approx)
Price: ~26,154 (TP1 zone)
Bars in Trade: 29
Main Dashboard (Top Right):
- Trade: SHORT
- Entry: 26184.65
- P/L: 30.85 pts | +1.12R (excellent progress)
- TP1: HIT (displayed in green)
- TP2: 26129.35 (24.44 pts away)
- Stop: 26212.30 (58.5 pts away - well protected)
- Bars: 29
Trade Analysis Panel (Bottom Left):
- Header: TRADE ANALYSIS
- Status Bar: "Multiple factors positive"
- Confidence: 78% RISING
- Factor Breakdown:
- Momentum: +8 = (ALIGNED)
- Position: +8 + (strong profit zone)
- Volume: +2 + (continued support)
- HTF Align: +8 = (now strongly aligned)
- Target: +10 + (TP1 achieved, approaching TP2)
- Stop Dist: +3 + (excellent cushion)
- Bottom Status: "Multiple factors positive"
- Visual State: Green background (FACTORS ALIGNED state)
Description:
Trade Execution Phase - First Target Achieved: After 29 bars , price reaches the first take-profit target at 26,157.00. The ' ' marker confirms partial profit taking. Current P/L shows +30.85 points (+1.12R), exceeding the initial 1:1 risk-reward.
The Trade Analysis Panel shows dramatic improvement - confidence has surged to 78% (FACTORS ALIGNED state) with most factors now positive:
- Momentum factor improved to +8 (velocity aligned with trade direction)
- Position factor at +8 (over +1R profit zone)
- HTF Align jumped to +8 (higher timeframe now confirming the move)
- Target factor maxed at +10 (TP1 achieved, TP2 within reach)
- Stop Distance at +3 (58.5 points cushion providing safety)
Notice the panel status displays 'Multiple factors positive' with a green-tinted background, indicating optimal trade conditions. The confidence trend shows 'RISING' suggesting continued momentum. With TP1 secured and only 24.44 points to TP2, the trade is well-positioned for a full 1:2R win.
SCREENSHOT 4: TP2 Reached - Trade Complete (Image 4)
Time: ~15:00+ UTC+5:30
Final Exit: 26,129.35 (TP2)
Final Result: Full TP2 win
Main Dashboard (Top Right):
- Bias: NEUTRAL (reverted to scanning mode)
- Pulse: 45.2 (returned to neutral zone)
- Volatility: NORMAL
- Trend: TREND DOWN (confirmed the move)
- Session: LONDON
- Volume: 1.26x (increased as move developed)
- HTF: BEARISH (fully aligned post-trade)
- Best Score: 5/5 (neutral after completion)
Trade Analysis Panel (Bottom Left):
- Status: NO ACTIVE TRADE (reverted)
- Long Score: 5/5 (RDY)
- Short Score: 5/5 (RDY)
- Panel Message: "Scanning - prime session active"
- Light blue/cyan background (back to scanning mode)
Description:
Trade Completion - Full Target Achieved: The short trade reaches its second take-profit target at 26,129.35, securing a complete 1:2 risk-reward win. The ' ' marker confirms the exit. Final results:
- Entry: 26,184.65
- Exit: 26,129.35
- Profit: 55.30 points (approximately +2.0R)
- Outcome: Full TP2 success
Post-Trade Analysis: After trade closure, the indicator automatically returns to market scanning mode. The Main Dashboard reverts to showing market conditions rather than trade metrics. Notice how the 'Trend' now displays 'TREND DOWN' - confirming the move we captured. Volume increased to 1.26x during the winning move, validating the signal quality.
The Trade Analysis Panel switches back to 'NO ACTIVE TRADE' status and resumes displaying long/short setup scores. The confidence-based factor monitoring was instrumental throughout the trade:
- Initial entry at 57% confidence (MIXED SIGNALS)
- Peak confidence of 78% at TP1 (FACTORS ALIGNED)
- Real-time factor updates helped confirm trade validity
This example demonstrates the indicator's complete workflow: setup identification → signal generation → entry execution → live trade monitoring → systematic exit at targets.
KEY FEATURES DEMONSTRATED
1. Dual Dashboard System
- Main Dashboard: Market conditions (scanning) → Trade metrics (active position)
- Analysis Panel: Setup scores (scanning) → Factor-based confidence (in-trade)
2. Visual Trade Management
- Color-coded entry zones (yellow)
- Risk levels clearly marked (red dashed stop)
- Profit targets with R:R ratios labeled
- Achievement markers ( , )
3. Real-Time Factor Analysis
- 6-factor scoring system (Momentum, Position, Volume, HTF, Target, Stop Dist)
- Confidence percentage with trend indicators
- State machine (MIXED → FACTORS ALIGNED)
- Hysteresis prevents false state changes
4. Risk Management
- Structure-based stop placement (respects swing highs)
- Multiple take-profit levels (1:1 and 1:2 R:R)
- Live P/L tracking in points and R-multiples
- Distance monitoring to all key levels
This complete example showcases the indicator's progression from setup identification through trade completion, demonstrating how the dual-dashboard system and factor-based analysis provide continuous trade guidance. The structured stop-loss and dual-target approach delivered the planned 1:2 risk-reward ratio with systematic, rule-based execution.
ALERT SYSTEM
The indicator includes 9 built-in alert conditions:
SIGNAL ALERTS:
→ High-Grade Long Signal (A+)
• Triggers only on A+ long signals
• For traders who want only the highest-quality longs
• Message: "KINETIC SCALPER: LONG @ "
→ High-Grade Short Signal (A+)
• Triggers only on A+ short signals
• For traders who want only the highest-quality shorts
• Message: "KINETIC SCALPER: SHORT @ "
→ Long Signal
• Triggers on ANY qualified long signal (A+, A, or B)
• For traders who want all long opportunities
• Message: "KINETIC SCALPER: LONG @ "
→ Short Signal
• Triggers on ANY qualified short signal
• For traders who want all short opportunities
• Message: "KINETIC SCALPER: SHORT @ "
TRADE MANAGEMENT ALERTS:
→ TP1 Hit
• Triggers when first profit target is reached
• Useful for partial profit taking notifications
• Message: "KINETIC SCALPER: TP1 REACHED"
→ TP2 Reached
• Triggers when second profit target is reached
• Trade is complete, full win achieved
• Message: "KINETIC SCALPER: TP2 REACHED"
→ Stop Loss Hit
• Triggers when stop loss is reached
• Important for trade management and risk tracking
• Message: "KINETIC SCALPER: STOP LOSS"
ANALYSIS STATE ALERTS:
→ Analysis State: Negative Bias
• Triggers when factor analysis enters "Negative Bias" state
• Warning that trade conditions are deteriorating
• Consider reducing position or preparing to exit
• Message: "KINETIC SCALPER: Analysis state changed to NEGATIVE BIAS"
→ Analysis State: Factors Weakening
• Triggers when factor analysis enters "Factors Weakening" state
• Caution that confluence is diminishing
• Monitor trade closely
• Message: "KINETIC SCALPER: Analysis state changed to FACTORS WEAKENING"
HOW TO SET UP ALERTS:
1. Click the "Create Alert" button in TradingView
2. Condition: Select "Kinetic Scalper "
3. Choose your desired alert from the dropdown
4. Configure your alert options:
→ Once Per Bar Close (recommended for non-repainting)
→ Frequency: Once Per Bar Close or Only Once
5. Set expiration and notification methods (popup, email, webhook, etc.)
6. Create alert
RECOMMENDED ALERT STRATEGY:
For active traders:
→ Set "Long Signal" and "Short Signal" alerts for all opportunities
→ Set "TP1 Hit", "TP2 Reached", and "Stop Loss Hit" for trade management
→ Consider "Analysis State: Negative Bias" for trade monitoring
For selective traders:
→ Set only "High-Grade Long Signal (A+)" and "High-Grade Short Signal (A+)"
→ Focus on the absolute highest-quality setups
→ Set TP/SL alerts for position management
USAGE TIPS & BEST PRACTICES
SIGNAL SELECTION:
✓ GRADE MATTERS
→ A+ signals have statistically more confluence factors
→ If you're conservative, trade only A+ signals
→ B signals can work but require more discretion
✓ CONFLUENCE WITH YOUR ANALYSIS
→ Use this indicator as CONFIRMATION, not sole decision criteria
→ Combine with your own support/resistance analysis
→ Check for fundamental events (news, economic data)
→ Respect major round numbers and psychological levels
✓ SESSION TIMING (Forex)
→ Best signals often occur during London/NY overlap
→ Avoid signals 10 minutes before major news releases
→ Asian session signals can be valid but lower liquidity
✓ TIMEFRAME CONFLUENCE
→ If you get an A+ signal on 15m, check if 1H chart agrees
→ Higher timeframe confirmation adds conviction
→ Avoid signals that oppose the daily/4H trend
TRADE MANAGEMENT:
✓ POSITION SIZING
→ ALWAYS size positions so stop loss = 1-2% of account
→ Never risk more than you can afford to lose
→ Smaller position on B signals, standard on A, larger on A+ (within limits)
✓ PARTIAL PROFIT TAKING
→ Consider taking 50% off at TP1
→ Move stop to breakeven after TP1 hit
→ Let remaining position run to TP2
✓ TRAILING STOPS
→ The indicator doesn't auto-trail stops (manual decision)
→ After TP1, you might manually move stop to entry (breakeven)
→ Consider ATR-based trailing stop for runners
✓ WATCH THE ANALYSIS PANEL
→ If state changes to "Factors Weakening" while in profit, consider exit
→ "Negative Bias" during a trade is a strong warning
→ "Factors Aligned" confirms your trade thesis is still valid
RISK MANAGEMENT:
✓ NEVER IGNORE STOPS
→ The calculated stop is there for a reason
→ Moving stop further away increases risk exponentially
→ If stopped out, accept it and wait for next setup
✓ AVOID REVENGE TRADING
→ If you get stopped out, resist urge to immediately re-enter
→ Signal cooldown helps with this
→ Wait for next qualified signal
✓ RESPECT VOLATILITY WARNINGS
→ If indicator shows "EXTREME" volatility, signals are blocked for a reason
→ Don't force trades in chaotic conditions
→ Wait for regime to normalize
✓ CORRELATION RISK
→ Be aware of correlation if trading multiple pairs
→ EUR/USD and GBP/USD are highly correlated
→ Don't stack risk on correlated instruments
OPTIMIZATION:
✓ START WITH DEFAULTS
→ Default settings are well-tested
→ Don't over-optimize for recent market behavior
→ Give settings at least 20-30 trades before judging
✓ TIMEFRAME-SPECIFIC ADJUSTMENTS
→ Lower timeframes: Consider increasing Signal Distance to 3.0-4.0
→ Higher timeframes: ATR Stop Multiplier might go to 2.0-2.5
→ Crypto: Ensure Instrument Type is set to "Crypto" for proper stops
✓ SENSITIVITY CALIBRATION
→ Too many signals? Switch to Conservative
→ Missing good setups? Try Balanced or Aggressive
→ Quality > Quantity always
✓ KEEP A JOURNAL
→ Track which signal grades work best for you
→ Note which sessions produce best results
→ Review stopped trades for patterns
THINGS TO AVOID:
✗ DON'T chase signals after several bars have passed
✗ DON'T ignore the stop loss or move it further away
✗ DON'T overtrade by taking every B-grade signal
✗ DON'T trade during major news if you're not experienced
✗ DON'T use this as your only analysis tool
✗ DON'T expect 100% win rate (no indicator has this)
✗ DON'T risk more than 1-2% per trade regardless of signal grade
UNDERSTANDING THE METHODOLOGY
WHY VOLUME WEIGHTING?
Traditional momentum oscillators treat all price moves equally. A 10-point move on low volume is weighted the same as a 10-point move on high volume.
The Kinetic Pulse corrects this by:
→ Calculating volume ratio vs. 20-bar average
→ Applying square root transformation to volume ratio (prevents extreme weights)
→ Multiplying price changes by volume weight
→ Result: High-volume moves influence the oscillator more than low-volume noise
This helps filter false breakouts and emphasizes moves with participation.
WHY FISHER TRANSFORM?
Fisher Transform is a mathematical transformation that:
→ Normalizes probability distributions
→ Creates sharper turning points
→ Amplifies extremes while compressing the middle
→ Makes overbought/oversold levels more distinct
Applied to the Kinetic Pulse, it helps identify genuine extremes vs. noise.
WHY MULTI-OSCILLATOR DIVERGENCE?
Single-source divergence can give false signals. By requiring divergence confirmation across multiple oscillators (Kinetic Pulse, CCI, Stochastic), the system filters out:
→ Divergences caused by calculation quirks in one oscillator
→ Temporary momentum anomalies
→ False divergence on noisy, low-timeframe charts
Multiple sources confirming the same pattern increases reliability.
WHY ADAPTIVE PERIODS?
Fixed periods can be:
→ Too slow during high volatility (miss fast reversals)
→ Too fast during low volatility (generate noise)
The adaptive system:
→ Shortens period when ATR ratio > 1.3 (high volatility = need faster response)
→ Lengthens period when ATR ratio < 0.7 (low volatility = need noise filtering)
→ Keeps period in reasonable range (60% to 140% of base period)
→ Result: Oscillator adjusts to current market pace automatically
WHY HYSTERESIS IN STATE MACHINE?
Without hysteresis, the analysis state would flip-flop on every bar, creating:
→ Confusing, contradictory guidance
→ Analysis paralysis
→ Lack of actionable information
Hysteresis solves this by:
→ Using different thresholds to ENTER vs. EXIT a state
→ Example: Enter "Factors Aligned" at 72+ confidence, but don't exit until <62
→ This creates stable states that persist through minor fluctuations
→ Requires minimum commitment period (3 bars) before state changes
→ Overrides commitment for significant events (near TP/SL)
→ Result: Stable, trustworthy analysis that changes only when truly warranted
WHY CONFIDENCE SMOOTHING?
Raw factor scores fluctuate bar-by-bar based on momentary conditions. Smoothing:
→ Uses 5-period EMA on raw confidence scores
→ Filters out single-bar anomalies
→ Preserves genuine trends in confidence
→ Prevents false state transitions
→ Result: More reliable assessment of actual trade health
WHY INSTRUMENT-SPECIFIC PARAMETERS?
Different instruments have different characteristics:
→ Forex is highly liquid, respects technical levels well, standard ATR works
→ Crypto is extremely volatile, needs wider stops (1.8x) to avoid false stops
→ Indices respect session opens strongly, session weighting is important
→ Commodities fall in between
Auto-detection applies research-based multipliers automatically.
WHY STRUCTURE-BASED STOPS?
ATR-based stops can:
→ Place stop in middle of consolidation (easily hit)
→ Ignore obvious invalidation levels
→ Be too tight during expansion or too wide during contraction
Structure-based stops:
→ Use actual swing highs/lows (where traders actually place stops)
→ Add small ATR buffer to avoid stop hunting
→ Constrain within min/max ATR limits for safety
→ Result: Stops that respect market geometry while managing risk
DISCLAIMER & RISK WARNING
READ THIS CAREFULLY BEFORE USING THIS INDICATOR
This indicator is provided for EDUCATIONAL and INFORMATIONAL purposes only.
❌ NOT FINANCIAL ADVICE
This indicator does NOT constitute financial advice, investment recommendations, or solicitation to buy or sell any financial instrument. All information is for educational purposes only.
❌ NO GUARANTEES
→ Past performance does NOT guarantee future results
→ No indicator can predict future price movements with certainty
→ Signal grades represent confluence, NOT win probability
→ A+ signals can lose, B signals can win - markets are probabilistic
❌ SUBSTANTIAL RISK
Trading financial instruments involves SUBSTANTIAL RISK of loss:
→ You can lose your entire investment
→ Leveraged trading amplifies both gains AND losses
→ Never trade with money you cannot afford to lose
→ Never risk more than 1-2% of your account per trade
❌ YOUR RESPONSIBILITY
→ All trading decisions are YOUR responsibility
→ You must conduct your own analysis before entering trades
→ Consult a licensed financial advisor before trading
→ Understand the risks specific to your jurisdiction and situation
→ Only trade with capital you can afford to lose completely
❌ NO HOLY GRAIL
→ This indicator is a TOOL, not a complete trading system
→ It should be used as part of a broader analysis framework
→ Combine with your own technical analysis, risk management, and judgment
→ No indicator works 100% of the time in all market conditions
❌ ANALYSIS PANEL DISCLAIMER
The "Trade Analysis Panel" provides ALGORITHMIC ANALYSIS of market factors.
→ It does NOT provide investment advice or recommendations
→ Factor scores are mathematical calculations, not predictions
→ Guidance messages are informational, not directives
→ All trading decisions remain your responsibility
❌ BACKTESTING LIMITATIONS
→ This is an indicator, not a strategy, so no backtesting results are provided
→ Any backtesting you perform includes hindsight bias and optimization bias
→ Historical performance does not indicate future performance
→ Slippage, commissions, and real-world execution differ from backtests
❌ MARKET CONDITIONS
→ This indicator performs differently in trending vs. ranging markets
→ Extreme volatility can produce false signals or whipsaws
→ Low liquidity periods increase execution risk
→ Major news events can invalidate technical analysis
BY USING THIS INDICATOR, YOU ACKNOWLEDGE:
→ You have read and understood this disclaimer
→ You accept full responsibility for your trading decisions
→ You understand the substantial risks involved in trading
→ You will not hold the author liable for any losses incurred
→ You are using this tool as part of your own due diligence process
KEY FEATURES SUMMARY
✅ Volume-Weighted Kinetic Pulse Engine (proprietary momentum calculation)
✅ 15-Factor Confluence Scoring System (graded signals: A+, A, B)
✅ Multi-Oscillator Divergence Detection (Pulse + CCI + Stochastic)
✅ Higher Timeframe Trend Alignment Filter
✅ Adaptive Period Adjustment (volatility-responsive)
✅ Instrument-Aware Calibration (Forex, Crypto, Indices, Commodities)
✅ Structure-Based Stop Loss Calculation (respects swing highs/lows)
✅ Automated Trade Tracking (entry, stop, TP1, TP2, P/L)
✅ Real-Time Factor Analysis State Machine (5-state system with hysteresis)
✅ Session Awareness (Asian, London, New York, Overlap)
✅ Volatility Regime Detection (blocks signals in extreme conditions)
✅ Choppiness Filter (reduces signals in ranging markets)
✅ Volume Confirmation (relative volume and delta analysis)
✅ Clean Air Check (validates clear path to targets)
✅ Comprehensive Dashboards (market conditions + trade analysis)
✅ Customizable Display (3 signal styles, color themes, positioning)
✅ 9 Built-In Alert Conditions (signals, TP/SL hits, state changes)
✅ Fully Non-Repainting (barstate.isconfirmed, lookahead_off)
✅ Previous Day Levels (PDH/PDL reference lines)
✅ Mobile-Friendly Compact Mode (for smaller screens)
TECHNICAL SPECIFICATIONS
→ Pine Script Version: v6
→ Indicator Type: Overlay (displays on price chart)
→ License: Mozilla Public License 2.0
→ Copyright: BULLBYTE
→ Object Limits: 300 labels, 100 lines, 50 boxes
→ Memory Management: Automatic cleanup system (FIFO queue)
→ Repainting: Non-repainting (signals confirmed on bar close)
→ Timeframe Support: All timeframes (1s to Monthly)
→ Instrument Support: Forex, Crypto, Indices, Commodities, Stocks
→ HTF Data Handling: lookahead_off with historical offset
VERSION HISTORY
v1.0 - Initial Release
→ Kinetic Pulse engine with volume weighting and Fisher Transform
→ 15-factor confluence scoring system
→ Trade analysis state machine with hysteresis
→ Automated trade tracking and monitoring
→ Dual dashboard system (market conditions + factor analysis)
→ 9 alert conditions
→ 3 signal display styles
→ Instrument-aware calibration
→ Full risk management framework
WHO IS THIS INDICATOR FOR?
IDEAL FOR:
✓ Scalpers and day traders seeking high-confluence reversal entries
✓ Swing traders who want quality over quantity
✓ Traders who appreciate systematic, rules-based analysis
✓ Multi-timeframe traders who value HTF confirmation
✓ Forex traders who respect session timing
✓ Crypto traders needing volatility-adjusted parameters
✓ Traders who want complete trade management (entry, stop, targets)
✓ Analytical traders who want transparency in signal generation
NOT IDEAL FOR:
✗ Traders seeking a "set and forget" holy grail system
✗ Traders who don't want to learn the methodology
✗ Traders unwilling to accept losing trades as part of the process
✗ Traders who need constant signals (this is a quality-focused system)
✗ Traders who ignore risk management
FINAL THOUGHTS
The Kinetic Scalper is the result of extensive research into momentum behavior, volume confirmation, and multi-factor confluence analysis. It's designed to identify high-probability reversal setups while maintaining strict risk management and providing complete transparency.
This is NOT a magic solution. It's a sophisticated TOOL that requires:
→ Understanding of the methodology
→ Proper risk management discipline
→ Patience to wait for quality setups
→ Willingness to accept losses as part of trading
→ Integration with your own analysis and judgment
Used properly as part of a complete trading plan, the Kinetic Scalper can help you identify high-confluence opportunities and manage trades systematically.
Remember: Quality over quantity. Discipline over emotion. Risk management over everything.
Trade smart. Trade safe.
© 2025 BULLBYTE | Kinetic Scalper v1.0 | For Educational Purposes Only
Swing elite Trend DirectionSwing Elite Trend Direction
This indicator provides a structured approach to market analysis by combining swing point detection with trend confirmation logic derived from Smart Money Concepts (SMC).
How It Works
The core algorithm identifies swing highs and lows using a configurable lookback depth, then classifies each pivot based on its relationship to prior swings. A swing high that exceeds the previous swing high is labeled HH (Higher High), while one that fails to do so becomes LH (Lower High). The same logic applies to lows, producing HL (Higher Low) and LL (Lower Low) classifications.
Trend confirmation follows ICT/SMC principles: a bullish trend is confirmed only when a Higher Low is followed by a Higher High, establishing the classic bullish market structure sequence. Conversely, bearish confirmation requires a Lower High followed by a Lower Low. When price creates a counter-structure pivot (such as a Lower High appearing during a bullish sequence), the trend status shifts to "Unconfirmed," alerting traders to potential reversals before they fully develop.
What Makes This Indicator Useful
Rather than displaying isolated swing points, this indicator synthesizes the relationship between consecutive pivots to provide actionable trend status. The multi-timeframe dashboard extends this analysis across three user-defined timeframes, allowing traders to assess trend alignment — a key filter for higher-probability setups.
Structure trendlines automatically connect relevant pivot sequences (HH→LH for resistance, LL→HL for support), visualizing the trajectory of market structure rather than arbitrary price connections. Break levels mark the specific prices where structure would shift, giving clear invalidation points for trade management.
The Fibonacci retracement draws automatically between the two most recent pivots, providing potential entry zones within the established structure context.
Intended Use
This tool is designed for traders who use market structure analysis as their primary framework. It automates the manual process of labeling swing points and tracking structure sequences, reducing subjectivity while maintaining the discretionary trader's analytical approach. Works across all markets and timeframes.
Swing elite Trend direction
A comprehensive market structure indicator that identifies swing highs/lows, labels them with HH/HL/LH/LL structure, draws dynamic trendlines, and provides multi-timeframe trend analysis.
🔹 FEATURES
Market Structure Analysis
Automatically detects swing highs and swing lows
Labels each pivot with its structure type: HH (Higher High), HL (Higher Low), LH (Lower High), LL (Lower Low)
Color-coded zigzag lines based on confirmed trend direction
Structure Trendlines
Downtrend Line: Connects HH to LH (resistance in bearish structure)
Uptrend Line: Connects LL to HL (support in bullish structure)
Extended projection for potential future price interaction
Swing Trendlines
Connects the last 2 swing highs (resistance trendline)
Connects the last 2 swing lows (support trendline)
Optional extension to project future levels
Break Levels
Horizontal lines at key structure points (HH, HL, LL, LH)
Visual reference for potential breakout/breakdown levels
Customizable colors for bullish and bearish breaks
Fibonacci Retracement
Auto-drawn between the last two pivots
Customizable levels: 0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0
Individual toggle and color settings for each level
Multi-Timeframe Dashboard
Displays trend status across 3 customizable timeframes
Shows trend direction: Bullish / Bearish / Neutral
Shows confirmation status: Confirmed / Unconfirmed
Color-coded for quick visual analysis
Trend Confirmation Logic (ICT/SMC Concepts)
Bullish Confirmed: HL followed by HH (Higher Low → Higher High pattern)
Bearish Confirmed: LH followed by LL (Lower High → Lower Low pattern)
Unconfirmed: Counter-structure appears (potential reversal signal)
🔹 SETTINGS
Swing Settings
Depth: Lookback period for pivot detection
Display
Toggle zigzag lines, labels, price on labels
Adjust label size and number of visible swings
Zigzag Settings
Line style: Solid, Dashed, Dotted
Thickness and colors for bullish/bearish trends
Swing Trendlines
Toggle high/low trendlines independently
Customizable colors, style, thickness
Option to extend trendlines
Structure Trendlines
Toggle HH→LH and LL→HL lines independently
Customizable colors, style, thickness
Option to extend trendlines
Break Levels
Toggle HH, HL, LL, LH break levels independently
Customizable colors for each level
Fibonacci
Toggle individual fib levels
Customizable colors and line style
Dashboard
Position: Top Left, Top Right, Bottom Left, Bottom Right
Size: Tiny, Small, Normal, Large
3 customizable timeframes
🔹 ALERTS
HH Broken: Price breaks above recent Higher High
HL Broken: Price breaks below recent Higher Low
LL Broken: Price breaks below recent Lower Low
LH Broken: Price breaks above recent Lower High
🔹 USE CASES
✅ Identify market structure and trend direction
✅ Spot potential trend reversals (unconfirmed status)
✅ Find key support/resistance levels
✅ Multi-timeframe trend alignment for trade confirmation
✅ Breakout/breakdown trading with break levels
✅ Fibonacci retracement entries
3 hours ago
Release Notes
Swing elite Trend direction
A comprehensive market structure indicator that identifies swing highs/lows, labels them with HH/HL/LH/LL structure, draws dynamic trendlines, and provides multi-timeframe trend analysis.
🔹 FEATURES
Market Structure Analysis
Automatically detects swing highs and swing lows
Labels each pivot with its structure type: HH (Higher High), HL (Higher Low), LH (Lower High), LL (Lower Low)
Color-coded zigzag lines based on confirmed trend direction
Structure Trendlines
Downtrend Line: Connects HH to LH (resistance in bearish structure)
Uptrend Line: Connects LL to HL (support in bullish structure)
Extended projection for potential future price interaction
Swing Trendlines
Connects the last 2 swing highs (resistance trendline)
Connects the last 2 swing lows (support trendline)
Optional extension to project future levels
Break Levels
Horizontal lines at key structure points (HH, HL, LL, LH)
Visual reference for potential breakout/breakdown levels
Customizable colors for bullish and bearish breaks
Fibonacci Retracement
Auto-drawn between the last two pivots
Customizable levels: 0, 0.236, 0.382, 0.5, 0.618, 0.786, 1.0
Individual toggle and color settings for each level
Multi-Timeframe Dashboard
Displays trend status across 3 customizable timeframes
Shows trend direction: Bullish / Bearish / Neutral
Shows confirmation status: Confirmed / Unconfirmed
Color-coded for quick visual analysis
Trend Confirmation Logic (ICT/SMC Concepts)
Bullish Confirmed: HL followed by HH (Higher Low → Higher High pattern)
Bearish Confirmed: LH followed by LL (Lower High → Lower Low pattern)
Unconfirmed: Counter-structure appears (potential reversal signal)
🔹 SETTINGS
Swing Settings
Depth: Lookback period for pivot detection
Display
Toggle zigzag lines, labels, price on labels
Adjust label size and number of visible swings
Zigzag Settings
Line style: Solid, Dashed, Dotted
Thickness and colors for bullish/bearish trends
Swing Trendlines
Toggle high/low trendlines independently
Customizable colors, style, thickness
Option to extend trendlines
Structure Trendlines
Toggle HH→LH and LL→HL lines independently
Customizable colors, style, thickness
Option to extend trendlines
Break Levels
Toggle HH, HL, LL, LH break levels independently
Customizable colors for each level
Fibonacci
Toggle individual fib levels
Customizable colors and line style
Dashboard
Position: Top Left, Top Right, Bottom Left, Bottom Right
Size: Tiny, Small, Normal, Large
3 customizable timeframes
🔹 ALERTS
HH Broken: Price breaks above recent Higher High
HL Broken: Price breaks below recent Higher Low
LL Broken: Price breaks below recent Lower Low
LH Broken: Price breaks above recent Lower High
🔹 USE CASES
✅ Identify market structure and trend direction
✅ Spot potential trend reversals (unconfirmed status)
✅ Find key support/resistance levels
✅ Multi-timeframe trend alignment for trade confirmation
✅ Breakout/breakdown trading with break levels
✅ Fibonacci retracement entries
Adaptive Genesis Engine [AGE]ADAPTIVE GENESIS ENGINE (AGE)
Pure Signal Evolution Through Genetic Algorithms
Where Darwin Meets Technical Analysis
🧬 WHAT YOU'RE GETTING - THE PURE INDICATOR
This is a technical analysis indicator - it generates signals, visualizes probability, and shows you the evolutionary process in real-time. This is NOT a strategy with automatic execution - it's a sophisticated signal generation system that you control .
What This Indicator Does:
Generates Long/Short entry signals with probability scores (35-88% range)
Evolves a population of up to 12 competing strategies using genetic algorithms
Validates strategies through walk-forward optimization (train/test cycles)
Visualizes signal quality through premium gradient clouds and confidence halos
Displays comprehensive metrics via enhanced dashboard
Provides alerts for entries and exits
Works on any timeframe, any instrument, any broker
What This Indicator Does NOT Do:
Execute trades automatically
Manage positions or calculate position sizes
Place orders on your behalf
Make trading decisions for you
This is pure signal intelligence. AGE tells you when and how confident it is. You decide whether and how much to trade.
🔬 THE SCIENCE: GENETIC ALGORITHMS MEET TECHNICAL ANALYSIS
What Makes This Different - The Evolutionary Foundation
Most indicators are static - they use the same parameters forever, regardless of market conditions. AGE is alive . It maintains a population of competing strategies that evolve, adapt, and improve through natural selection principles:
Birth: New strategies spawn through crossover breeding (combining DNA from fit parents) plus random mutation for exploration
Life: Each strategy trades virtually via shadow portfolios, accumulating wins/losses, tracking drawdown, and building performance history
Selection: Strategies are ranked by comprehensive fitness scoring (win rate, expectancy, drawdown control, signal efficiency)
Death: Weak strategies are culled periodically, with elite performers (top 2 by default) protected from removal
Evolution: The gene pool continuously improves as successful traits propagate and unsuccessful ones die out
This is not curve-fitting. Each new strategy must prove itself on out-of-sample data through walk-forward validation before being trusted for live signals.
🧪 THE DNA: WHAT EVOLVES
Every strategy carries a 10-gene chromosome controlling how it interprets market data:
Signal Sensitivity Genes
Entropy Sensitivity (0.5-2.0): Weight given to market order/disorder calculations. Low values = conservative, require strong directional clarity. High values = aggressive, act on weaker order signals.
Momentum Sensitivity (0.5-2.0): Weight given to RSI/ROC/MACD composite. Controls responsiveness to momentum shifts vs. mean-reversion setups.
Structure Sensitivity (0.5-2.0): Weight given to support/resistance positioning. Determines how much price location within swing range matters.
Probability Adjustment Genes
Probability Boost (-0.10 to +0.10): Inherent bias toward aggressive (+) or conservative (-) entries. Acts as personality trait - some strategies naturally optimistic, others pessimistic.
Trend Strength Requirement (0.3-0.8): Minimum trend conviction needed before signaling. Higher values = only trades strong trends, lower values = acts in weak/sideways markets.
Volume Filter (0.5-1.5): Strictness of volume confirmation. Higher values = requires strong volume, lower values = volume less important.
Risk Management Genes
ATR Multiplier (1.5-4.0): Base volatility scaling for all price levels. Controls whether strategy uses tight or wide stops/targets relative to ATR.
Stop Multiplier (1.0-2.5): Stop loss tightness. Lower values = aggressive profit protection, higher values = more breathing room.
Target Multiplier (1.5-4.0): Profit target ambition. Lower values = quick scalping exits, higher values = swing trading holds.
Adaptation Gene
Regime Adaptation (0.0-1.0): How much strategy adjusts behavior based on detected market regime (trending/volatile/choppy). Higher values = more reactive to regime changes.
The Magic: AGE doesn't just try random combinations. Through tournament selection and fitness-weighted crossover, successful gene combinations spread through the population while unsuccessful ones fade away. Over 50-100 bars, you'll see the population converge toward genes that work for YOUR instrument and timeframe.
📊 THE SIGNAL ENGINE: THREE-LAYER SYNTHESIS
Before any strategy generates a signal, AGE calculates probability through multi-indicator confluence:
Layer 1 - Market Entropy (Information Theory)
Measures whether price movements exhibit directional order or random walk characteristics:
The Math:
Shannon Entropy = -Σ(p × log(p))
Market Order = 1 - (Entropy / 0.693)
What It Means:
High entropy = choppy, random market → low confidence signals
Low entropy = directional market → high confidence signals
Direction determined by up-move vs down-move dominance over lookback period (default: 20 bars)
Signal Output: -1.0 to +1.0 (bearish order to bullish order)
Layer 2 - Momentum Synthesis
Combines three momentum indicators into single composite score:
Components:
RSI (40% weight): Normalized to -1/+1 scale using (RSI-50)/50
Rate of Change (30% weight): Percentage change over lookback (default: 14 bars), clamped to ±1
MACD Histogram (30% weight): Fast(12) - Slow(26), normalized by ATR
Why This Matters: RSI catches mean-reversion opportunities, ROC catches raw momentum, MACD catches momentum divergence. Weighting favors RSI for reliability while keeping other perspectives.
Signal Output: -1.0 to +1.0 (strong bearish to strong bullish)
Layer 3 - Structure Analysis
Evaluates price position within swing range (default: 50-bar lookback):
Position Classification:
Bottom 20% of range = Support Zone → bullish bounce potential
Top 20% of range = Resistance Zone → bearish rejection potential
Middle 60% = Neutral Zone → breakout/breakdown monitoring
Signal Logic:
At support + bullish candle = +0.7 (strong buy setup)
At resistance + bearish candle = -0.7 (strong sell setup)
Breaking above range highs = +0.5 (breakout confirmation)
Breaking below range lows = -0.5 (breakdown confirmation)
Consolidation within range = ±0.3 (weak directional bias)
Signal Output: -1.0 to +1.0 (bearish structure to bullish structure)
Confluence Voting System
Each layer casts a vote (Long/Short/Neutral). The system requires minimum 2-of-3 agreement (configurable 1-3) before generating a signal:
Examples:
Entropy: Bullish, Momentum: Bullish, Structure: Neutral → Signal generated (2 long votes)
Entropy: Bearish, Momentum: Neutral, Structure: Neutral → No signal (only 1 short vote)
All three bullish → Signal generated with +5% probability bonus
This is the key to quality. Single indicators give too many false signals. Triple confirmation dramatically improves accuracy.
📈 PROBABILITY CALCULATION: HOW CONFIDENCE IS MEASURED
Base Probability:
Raw_Prob = 50% + (Average_Signal_Strength × 25%)
Then AGE applies strategic adjustments:
Trend Alignment:
Signal with trend: +4%
Signal against strong trend: -8%
Weak/no trend: no adjustment
Regime Adaptation:
Trending market (efficiency >50%, moderate vol): +3%
Volatile market (vol ratio >1.5x): -5%
Choppy market (low efficiency): -2%
Volume Confirmation:
Volume > 70% of 20-bar SMA: no change
Volume below threshold: -3%
Volatility State (DVS Ratio):
High vol (>1.8x baseline): -4% (reduce confidence in chaos)
Low vol (<0.7x baseline): -2% (markets can whipsaw in compression)
Moderate elevated vol (1.0-1.3x): +2% (trending conditions emerging)
Confluence Bonus:
All 3 indicators agree: +5%
2 of 3 agree: +2%
Strategy Gene Adjustment:
Probability Boost gene: -10% to +10%
Regime Adaptation gene: scales regime adjustments by 0-100%
Final Probability: Clamped between 35% (minimum) and 88% (maximum)
Why These Ranges?
Below 35% = too uncertain, better not to signal
Above 88% = unrealistic, creates overconfidence
Sweet spot: 65-80% for quality entries
🔄 THE SHADOW PORTFOLIO SYSTEM: HOW STRATEGIES COMPETE
Each active strategy maintains a virtual trading account that executes in parallel with real-time data:
Shadow Trading Mechanics
Entry Logic:
Calculate signal direction, probability, and confluence using strategy's unique DNA
Check if signal meets quality gate:
Probability ≥ configured minimum threshold (default: 65%)
Confluence ≥ configured minimum (default: 2 of 3)
Direction is not zero (must be long or short, not neutral)
Verify signal persistence:
Base requirement: 2 bars (configurable 1-5)
Adapts based on probability: high-prob signals (75%+) enter 1 bar faster, low-prob signals need 1 bar more
Adjusts for regime: trending markets reduce persistence by 1, volatile markets add 1
Apply additional filters:
Trend strength must exceed strategy's requirement gene
Regime filter: if volatile market detected, probability must be 72%+ to override
Volume confirmation required (volume > 70% of average)
If all conditions met for required persistence bars, enter shadow position at current close price
Position Management:
Entry Price: Recorded at close of entry bar
Stop Loss: ATR-based distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit: ATR-based distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Position: +1 (long) or -1 (short), only one at a time per strategy
Exit Logic:
Check if price hit stop (on low) or target (on high) on current bar
Record trade outcome in R-multiples (profit/loss normalized by ATR)
Update performance metrics:
Total trades counter incremented
Wins counter (if profit > 0)
Cumulative P&L updated
Peak equity tracked (for drawdown calculation)
Maximum drawdown from peak recorded
Enter cooldown period (default: 8 bars, configurable 3-20) before next entry allowed
Reset signal age counter to zero
Walk-Forward Tracking:
During position lifecycle, trades are categorized:
Training Phase (first 250 bars): Trade counted toward training metrics
Testing Phase (next 75 bars): Trade counted toward testing metrics (out-of-sample)
Live Phase (after WFO period): Trade counted toward overall metrics
Why Shadow Portfolios?
No lookahead bias (uses only data available at the bar)
Realistic execution simulation (entry on close, stop/target checks on high/low)
Independent performance tracking for true fitness comparison
Allows safe experimentation without risking capital
Each strategy learns from its own experience
🏆 FITNESS SCORING: HOW STRATEGIES ARE RANKED
Fitness is not just win rate. AGE uses a comprehensive multi-factor scoring system:
Core Metrics (Minimum 3 trades required)
Win Rate (30% of fitness):
WinRate = Wins / TotalTrades
Normalized directly (0.0-1.0 scale)
Total P&L (30% of fitness):
Normalized_PnL = (PnL + 300) / 600
Clamped 0.0-1.0. Assumes P&L range of -300R to +300R for normalization scale.
Expectancy (25% of fitness):
Expectancy = Total_PnL / Total_Trades
Normalized_Expectancy = (Expectancy + 30) / 60
Clamped 0.0-1.0. Rewards consistency of profit per trade.
Drawdown Control (15% of fitness):
Normalized_DD = 1 - (Max_Drawdown / 15)
Clamped 0.0-1.0. Penalizes strategies that suffer large equity retracements from peak.
Sample Size Adjustment
Quality Factor:
<50 trades: 1.0 (full weight, small sample)
50-100 trades: 0.95 (slight penalty for medium sample)
100 trades: 0.85 (larger penalty for large sample)
Why penalize more trades? Prevents strategies from gaming the system by taking hundreds of tiny trades to inflate statistics. Favors quality over quantity.
Bonus Adjustments
Walk-Forward Validation Bonus:
if (WFO_Validated):
Fitness += (WFO_Efficiency - 0.5) × 0.1
Strategies proven on out-of-sample data receive up to +10% fitness boost based on test/train efficiency ratio.
Signal Efficiency Bonus (if diagnostics enabled):
if (Signals_Evaluated > 10):
Pass_Rate = Signals_Passed / Signals_Evaluated
Fitness += (Pass_Rate - 0.1) × 0.05
Rewards strategies that generate high-quality signals passing the quality gate, not just profitable trades.
Final Fitness: Clamped at 0.0 minimum (prevents negative fitness values)
Result: Elite strategies typically achieve 0.50-0.75 fitness. Anything above 0.60 is excellent. Below 0.30 is prime candidate for culling.
🔬 WALK-FORWARD OPTIMIZATION: ANTI-OVERFITTING PROTECTION
This is what separates AGE from curve-fitted garbage indicators.
The Three-Phase Process
Every new strategy undergoes a rigorous validation lifecycle:
Phase 1 - Training Window (First 250 bars, configurable 100-500):
Strategy trades normally via shadow portfolio
All trades count toward training performance metrics
System learns which gene combinations produce profitable patterns
Tracks independently: Training_Trades, Training_Wins, Training_PnL
Phase 2 - Testing Window (Next 75 bars, configurable 30-200):
Strategy continues trading without any parameter changes
Trades now count toward testing performance metrics (separate tracking)
This is out-of-sample data - strategy has never seen these bars during "optimization"
Tracks independently: Testing_Trades, Testing_Wins, Testing_PnL
Phase 3 - Validation Check:
Minimum_Trades = 5 (configurable 3-15)
IF (Train_Trades >= Minimum AND Test_Trades >= Minimum):
WR_Efficiency = Test_WinRate / Train_WinRate
Expectancy_Efficiency = Test_Expectancy / Train_Expectancy
WFO_Efficiency = (WR_Efficiency + Expectancy_Efficiency) / 2
IF (WFO_Efficiency >= 0.55): // configurable 0.3-0.9
Strategy.Validated = TRUE
Strategy receives fitness bonus
ELSE:
Strategy receives 30% fitness penalty
ELSE:
Validation deferred (insufficient trades in one or both periods)
What Validation Means
Validated Strategy (Green "✓ VAL" in dashboard):
Performed at least 55% as well on unseen data compared to training data
Gets fitness bonus: +(efficiency - 0.5) × 0.1
Receives priority during tournament selection for breeding
More likely to be chosen as active trading strategy
Unvalidated Strategy (Orange "○ TRAIN" in dashboard):
Failed to maintain performance on test data (likely curve-fitted to training period)
Receives 30% fitness penalty (0.7x multiplier)
Makes strategy prime candidate for culling
Can still trade but with lower selection probability
Insufficient Data (continues collecting):
Hasn't completed both training and testing periods yet
OR hasn't achieved minimum trade count in both periods
Validation check deferred until requirements met
Why 55% Efficiency Threshold?
If a strategy earned 10R during training but only 5.5R during testing, it still proved an edge exists beyond random luck. Requiring 100% efficiency would be unrealistic - market conditions change between periods. But requiring >50% ensures the strategy didn't completely degrade on fresh data.
The Protection: Strategies that work great on historical data but fail on new data are automatically identified and penalized. This prevents the population from being polluted by overfitted strategies that would fail in live trading.
🌊 DYNAMIC VOLATILITY SCALING (DVS): ADAPTIVE STOP/TARGET PLACEMENT
AGE doesn't use fixed stop distances. It adapts to current volatility conditions in real-time.
Four Volatility Measurement Methods
1. ATR Ratio (Simple Method):
Current_Vol = ATR(14) / Close
Baseline_Vol = SMA(Current_Vol, 100)
Ratio = Current_Vol / Baseline_Vol
Basic comparison of current ATR to 100-bar moving average baseline.
2. Parkinson (High-Low Range Based):
For each bar: HL = log(High / Low)
Parkinson_Vol = sqrt(Σ(HL²) / (4 × Period × log(2)))
More stable than close-to-close volatility. Captures intraday range expansion without overnight gap noise.
3. Garman-Klass (OHLC Based):
HL_Term = 0.5 × ²
CO_Term = (2×log(2) - 1) × ²
GK_Vol = sqrt(Σ(HL_Term - CO_Term) / Period)
Most sophisticated estimator. Incorporates all four price points (open, high, low, close) plus gap information.
4. Ensemble Method (Default - Median of All Three):
Ratio_1 = ATR_Current / ATR_Baseline
Ratio_2 = Parkinson_Current / Parkinson_Baseline
Ratio_3 = GK_Current / GK_Baseline
DVS_Ratio = Median(Ratio_1, Ratio_2, Ratio_3)
Why Ensemble?
Takes median to avoid outliers and false spikes
If ATR jumps but range-based methods stay calm, median prevents overreaction
If one method fails, other two compensate
Most robust approach across different market conditions
Sensitivity Scaling
Scaled_Ratio = (Raw_Ratio) ^ Sensitivity
Sensitivity 0.3: Cube root - heavily dampens volatility impact
Sensitivity 0.5: Square root - moderate dampening
Sensitivity 0.7 (Default): Balanced response to volatility changes
Sensitivity 1.0: Linear - full 1:1 volatility impact
Sensitivity 1.5: Exponential - amplified response to volatility spikes
Safety Clamps: Final DVS Ratio always clamped between 0.5x and 2.5x baseline to prevent extreme position sizing or stop placement errors.
How DVS Affects Shadow Trading
Every strategy's stop and target distances are multiplied by the current DVS ratio:
Stop Loss Distance:
Stop_Distance = ATR × ATR_Mult (gene) × Stop_Mult (gene) × DVS_Ratio
Take Profit Distance:
Target_Distance = ATR × ATR_Mult (gene) × Target_Mult (gene) × DVS_Ratio
Example Scenario:
ATR = 10 points
Strategy's ATR_Mult gene = 2.5
Strategy's Stop_Mult gene = 1.5
Strategy's Target_Mult gene = 2.5
DVS_Ratio = 1.4 (40% above baseline volatility - market heating up)
Stop = 10 × 2.5 × 1.5 × 1.4 = 52.5 points (vs. 37.5 in normal vol)
Target = 10 × 2.5 × 2.5 × 1.4 = 87.5 points (vs. 62.5 in normal vol)
Result:
During volatility spikes: Stops automatically widen to avoid noise-based exits, targets extend for bigger moves
During calm periods: Stops tighten for better risk/reward, targets compress for realistic profit-taking
Strategies adapt risk management to match current market behavior
🧬 THE EVOLUTIONARY CYCLE: SPAWN, COMPETE, CULL
Initialization (Bar 1)
AGE begins with 4 seed strategies (if evolution enabled):
Seed Strategy #0 (Balanced):
All sensitivities at 1.0 (neutral)
Zero probability boost
Moderate trend requirement (0.4)
Standard ATR/stop/target multiples (2.5/1.5/2.5)
Mid-level regime adaptation (0.5)
Seed Strategy #1 (Momentum-Focused):
Lower entropy sensitivity (0.7), higher momentum (1.5)
Slight probability boost (+0.03)
Higher trend requirement (0.5)
Tighter stops (1.3), wider targets (3.0)
Seed Strategy #2 (Entropy-Driven):
Higher entropy sensitivity (1.5), lower momentum (0.8)
Slight probability penalty (-0.02)
More trend tolerant (0.6)
Wider stops (1.8), standard targets (2.5)
Seed Strategy #3 (Structure-Based):
Balanced entropy/momentum (0.8/0.9), high structure (1.4)
Slight probability boost (+0.02)
Lower trend requirement (0.35)
Moderate risk parameters (1.6/2.8)
All seeds start with WFO validation bypassed if WFO is disabled, or must validate if enabled.
Spawning New Strategies
Timing (Adaptive):
Historical phase: Every 30 bars (configurable 10-100)
Live phase: Every 200 bars (configurable 100-500)
Automatically switches to live timing when barstate.isrealtime triggers
Conditions:
Current population < max population limit (default: 8, configurable 4-12)
At least 2 active strategies exist (need parents)
Available slot in population array
Selection Process:
Run tournament selection 3 times with different seeds
Each tournament: randomly sample active strategies, pick highest fitness
Best from 3 tournaments becomes Parent 1
Repeat independently for Parent 2
Ensures fit parents but maintains diversity
Crossover Breeding:
For each of 10 genes:
Parent1_Fitness = fitness
Parent2_Fitness = fitness
Weight1 = Parent1_Fitness / (Parent1_Fitness + Parent2_Fitness)
Gene1 = parent1's value
Gene2 = parent2's value
Child_Gene = Weight1 × Gene1 + (1 - Weight1) × Gene2
Fitness-weighted crossover ensures fitter parent contributes more genetic material.
Mutation:
For each gene in child:
IF (random < mutation_rate):
Gene_Range = GENE_MAX - GENE_MIN
Noise = (random - 0.5) × 2 × mutation_strength × Gene_Range
Mutated_Gene = Clamp(Child_Gene + Noise, GENE_MIN, GENE_MAX)
Historical mutation rate: 20% (aggressive exploration)
Live mutation rate: 8% (conservative stability)
Mutation strength: 12% of gene range (configurable 5-25%)
Initialization of New Strategy:
Unique ID assigned (total_spawned counter)
Parent ID recorded
Generation = max(parent generations) + 1
Birth bar recorded (for age tracking)
All performance metrics zeroed
Shadow portfolio reset
WFO validation flag set to false (must prove itself)
Result: New strategy with hybrid DNA enters population, begins trading in next bar.
Competition (Every Bar)
All active strategies:
Calculate their signal based on unique DNA
Check quality gate with their thresholds
Manage shadow positions (entries/exits)
Update performance metrics
Recalculate fitness score
Track WFO validation progress
Strategies compete indirectly through fitness ranking - no direct interaction.
Culling Weak Strategies
Timing (Adaptive):
Historical phase: Every 60 bars (configurable 20-200, should be 2x spawn interval)
Live phase: Every 400 bars (configurable 200-1000, should be 2x spawn interval)
Minimum Adaptation Score (MAS):
Initial MAS = 0.10
MAS decays: MAS × 0.995 every cull cycle
Minimum MAS = 0.03 (floor)
MAS represents the "survival threshold" - strategies below this fitness level are vulnerable.
Culling Conditions (ALL must be true):
Population > minimum population (default: 3, configurable 2-4)
At least one strategy has fitness < MAS
Strategy's age > culling interval (prevents premature culling of new strategies)
Strategy is not in top N elite (default: 2, configurable 1-3)
Culling Process:
Find worst strategy:
For each active strategy:
IF (age > cull_interval):
Fitness = base_fitness
IF (not WFO_validated AND WFO_enabled):
Fitness × 0.7 // 30% penalty for unvalidated
IF (Fitness < MAS AND Fitness < worst_fitness_found):
worst_strategy = this_strategy
worst_fitness = Fitness
IF (worst_strategy found):
Count elite strategies with fitness > worst_fitness
IF (elite_count >= elite_preservation_count):
Deactivate worst_strategy (set active flag = false)
Increment total_culled counter
Elite Protection:
Even if a strategy's fitness falls below MAS, it survives if fewer than N strategies are better. This prevents culling when population is generally weak.
Result: Weak strategies removed from population, freeing slots for new spawns. Gene pool improves over time.
Selection for Display (Every Bar)
AGE chooses one strategy to display signals:
Best fitness = -1
Selected = none
For each active strategy:
Fitness = base_fitness
IF (WFO_validated):
Fitness × 1.3 // 30% bonus for validated strategies
IF (Fitness > best_fitness):
best_fitness = Fitness
selected_strategy = this_strategy
Display selected strategy's signals on chart
Result: Only the highest-fitness (optionally validated-boosted) strategy's signals appear as chart markers. Other strategies trade invisibly in shadow portfolios.
🎨 PREMIUM VISUALIZATION SYSTEM
AGE includes sophisticated visual feedback that standard indicators lack:
1. Gradient Probability Cloud (Optional, Default: ON)
Multi-layer gradient showing signal buildup 2-3 bars before entry:
Activation Conditions:
Signal persistence > 0 (same directional signal held for multiple bars)
Signal probability ≥ minimum threshold (65% by default)
Signal hasn't yet executed (still in "forming" state)
Visual Construction:
7 gradient layers by default (configurable 3-15)
Each layer is a line-fill pair (top line, bottom line, filled between)
Layer spacing: 0.3 to 1.0 × ATR above/below price
Outer layers = faint, inner layers = bright
Color transitions from base to intense based on layer position
Transparency scales with probability (high prob = more opaque)
Color Selection:
Long signals: Gradient from theme.gradient_bull_mid to theme.gradient_bull_strong
Short signals: Gradient from theme.gradient_bear_mid to theme.gradient_bear_strong
Base transparency: 92%, reduces by up to 8% for high-probability setups
Dynamic Behavior:
Cloud grows/shrinks as signal persistence increases/decreases
Redraws every bar while signal is forming
Disappears when signal executes or invalidates
Performance Note: Computationally expensive due to linefill objects. Disable or reduce layers if chart performance degrades.
2. Population Fitness Ribbon (Optional, Default: ON)
Histogram showing fitness distribution across active strategies:
Activation: Only draws on last bar (barstate.islast) to avoid historical clutter
Visual Construction:
10 histogram layers by default (configurable 5-20)
Plots 50 bars back from current bar
Positioned below price at: lowest_low(100) - 1.5×ATR (doesn't interfere with price action)
Each layer represents a fitness threshold (evenly spaced min to max fitness)
Layer Logic:
For layer_num from 0 to ribbon_layers:
Fitness_threshold = min_fitness + (max_fitness - min_fitness) × (layer / layers)
Count strategies with fitness ≥ threshold
Height = ATR × 0.15 × (count / total_active)
Y_position = base_level + ATR × 0.2 × layer
Color = Gradient from weak to strong based on layer position
Line_width = Scaled by height (taller = thicker)
Visual Feedback:
Tall, bright ribbon = healthy population, many fit strategies at high fitness levels
Short, dim ribbon = weak population, few strategies achieving good fitness
Ribbon compression (layers close together) = population converging to similar fitness
Ribbon spread = diverse fitness range, active selection pressure
Use Case: Quick visual health check without opening dashboard. Ribbon growing upward over time = population improving.
3. Confidence Halo (Optional, Default: ON)
Circular polyline around entry signals showing probability strength:
Activation: Draws when new position opens (shadow_position changes from 0 to ±1)
Visual Construction:
20-segment polyline forming approximate circle
Center: Low - 0.5×ATR (long) or High + 0.5×ATR (short)
Radius: 0.3×ATR (low confidence) to 1.0×ATR (elite confidence)
Scales with: (probability - min_probability) / (1.0 - min_probability)
Color Coding:
Elite (85%+): Cyan (theme.conf_elite), large radius, minimal transparency (40%)
Strong (75-85%): Strong green (theme.conf_strong), medium radius, moderate transparency (50%)
Good (65-75%): Good green (theme.conf_good), smaller radius, more transparent (60%)
Moderate (<65%): Moderate green (theme.conf_moderate), tiny radius, very transparent (70%)
Technical Detail:
Uses chart.point array with index-based positioning
5-bar horizontal spread for circular appearance (±5 bars from entry)
Curved=false (Pine Script polyline limitation)
Fill color matches line color but more transparent (88% vs line's transparency)
Purpose: Instant visual probability assessment. No need to check dashboard - halo size/brightness tells the story.
4. Evolution Event Markers (Optional, Default: ON)
Visual indicators of genetic algorithm activity:
Spawn Markers (Diamond, Cyan):
Plots when total_spawned increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.spawn_marker (cyan/bright blue)
Size: tiny
Indicates new strategy just entered population
Cull Markers (X-Cross, Red):
Plots when total_culled increases on current bar
Location: bottom of chart (location.bottom)
Color: theme.cull_marker (red/pink)
Size: tiny
Indicates weak strategy just removed from population
What It Tells You:
Frequent spawning early = population building, active exploration
Frequent culling early = high selection pressure, weak strategies dying fast
Balanced spawn/cull = healthy evolutionary churn
No markers for long periods = stable population (evolution plateaued or optimal genes found)
5. Entry/Exit Markers
Clear visual signals for selected strategy's trades:
Long Entry (Triangle Up, Green):
Plots when selected strategy opens long position (position changes 0 → +1)
Location: below bar (location.belowbar)
Color: theme.long_primary (green/cyan depending on theme)
Transparency: Scales with probability:
Elite (85%+): 0% (fully opaque)
Strong (75-85%): 10%
Good (65-75%): 20%
Acceptable (55-65%): 35%
Size: small
Short Entry (Triangle Down, Red):
Plots when selected strategy opens short position (position changes 0 → -1)
Location: above bar (location.abovebar)
Color: theme.short_primary (red/pink depending on theme)
Transparency: Same scaling as long entries
Size: small
Exit (X-Cross, Orange):
Plots when selected strategy closes position (position changes ±1 → 0)
Location: absolute (at actual exit price if stop/target lines enabled)
Color: theme.exit_color (orange/yellow depending on theme)
Transparency: 0% (fully opaque)
Size: tiny
Result: Clean, probability-scaled markers that don't clutter chart but convey essential information.
6. Stop Loss & Take Profit Lines (Optional, Default: ON)
Visual representation of shadow portfolio risk levels:
Stop Loss Line:
Plots when selected strategy has active position
Level: shadow_stop value from selected strategy
Color: theme.short_primary with 60% transparency (red/pink, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Take Profit Line:
Plots when selected strategy has active position
Level: shadow_target value from selected strategy
Color: theme.long_primary with 60% transparency (green, subtle)
Width: 2
Style: plot.style_linebr (breaks when no position)
Purpose:
Shows where shadow portfolio would exit for stop/target
Helps visualize strategy's risk/reward ratio
Useful for manual traders to set similar levels
Disable for cleaner chart (recommended for presentations)
7. Dynamic Trend EMA
Gradient-colored trend line that visualizes trend strength:
Calculation:
EMA(close, trend_length) - default 50 period (configurable 20-100)
Slope calculated over 10 bars: (current_ema - ema ) / ema × 100
Color Logic:
Trend_direction:
Slope > 0.1% = Bullish (1)
Slope < -0.1% = Bearish (-1)
Otherwise = Neutral (0)
Trend_strength = abs(slope)
Color = Gradient between:
- Neutral color (gray/purple)
- Strong bullish (bright green) if direction = 1
- Strong bearish (bright red) if direction = -1
Gradient factor = trend_strength (0 to 1+ scale)
Visual Behavior:
Faint gray/purple = weak/no trend (choppy conditions)
Light green/red = emerging trend (low strength)
Bright green/red = strong trend (high conviction)
Color intensity = trend strength magnitude
Transparency: 50% (subtle, doesn't overpower price action)
Purpose: Subconscious awareness of trend state without checking dashboard or indicators.
8. Regime Background Tinting (Subtle)
Ultra-low opacity background color indicating detected market regime:
Regime Detection:
Efficiency = directional_movement / total_range (over trend_length bars)
Vol_ratio = current_volatility / average_volatility
IF (efficiency > 0.5 AND vol_ratio < 1.3):
Regime = Trending (1)
ELSE IF (vol_ratio > 1.5):
Regime = Volatile (2)
ELSE:
Regime = Choppy (0)
Background Colors:
Trending: theme.regime_trending (dark green, 92-93% transparency)
Volatile: theme.regime_volatile (dark red, 93% transparency)
Choppy: No tint (normal background)
Purpose:
Subliminal regime awareness
Helps explain why signals are/aren't generating
Trending = ideal conditions for AGE
Volatile = fewer signals, higher thresholds applied
Choppy = mixed signals, lower confidence
Important: Extremely subtle by design. Not meant to be obvious, just subconscious context.
📊 ENHANCED DASHBOARD
Comprehensive real-time metrics in single organized panel (top-right position):
Dashboard Structure (5 columns × 14 rows)
Header Row:
Column 0: "🧬 AGE PRO" + phase indicator (🔴 LIVE or ⏪ HIST)
Column 1: "POPULATION"
Column 2: "PERFORMANCE"
Column 3: "CURRENT SIGNAL"
Column 4: "ACTIVE STRATEGY"
Column 0: Market State
Regime (📈 TREND / 🌊 CHAOS / ➖ CHOP)
DVS Ratio (current volatility scaling factor, format: #.##)
Trend Direction (▲ BULL / ▼ BEAR / ➖ FLAT with color coding)
Trend Strength (0-100 scale, format: #.##)
Column 1: Population Metrics
Active strategies (count / max_population)
Validated strategies (WFO passed / active total)
Current generation number
Total spawned (all-time strategy births)
Total culled (all-time strategy deaths)
Column 2: Aggregate Performance
Total trades across all active strategies
Aggregate win rate (%) - color-coded:
Green (>55%)
Orange (45-55%)
Red (<45%)
Total P&L in R-multiples - color-coded by positive/negative
Best fitness score in population (format: #.###)
MAS - Minimum Adaptation Score (cull threshold, format: #.###)
Column 3: Current Signal Status
Status indicator:
"▲ LONG" (green) if selected strategy in long position
"▼ SHORT" (red) if selected strategy in short position
"⏳ FORMING" (orange) if signal persisting but not yet executed
"○ WAITING" (gray) if no active signal
Confidence percentage (0-100%, format: #.#%)
Quality assessment:
"🔥 ELITE" (cyan) for 85%+ probability
"✓ STRONG" (bright green) for 75-85%
"○ GOOD" (green) for 65-75%
"- LOW" (dim) for <65%
Confluence score (X/3 format)
Signal age:
"X bars" if signal forming
"IN TRADE" if position active
"---" if no signal
Column 4: Selected Strategy Details
Strategy ID number (#X format)
Validation status:
"✓ VAL" (green) if WFO validated
"○ TRAIN" (orange) if still in training/testing phase
Generation number (GX format)
Personal fitness score (format: #.### with color coding)
Trade count
P&L and win rate (format: #.#R (##%) with color coding)
Color Scheme:
Panel background: theme.panel_bg (dark, low opacity)
Panel headers: theme.panel_header (slightly lighter)
Primary text: theme.text_primary (bright, high contrast)
Secondary text: theme.text_secondary (dim, lower contrast)
Positive metrics: theme.metric_positive (green)
Warning metrics: theme.metric_warning (orange)
Negative metrics: theme.metric_negative (red)
Special markers: theme.validated_marker, theme.spawn_marker
Update Frequency: Only on barstate.islast (current bar) to minimize CPU usage
Purpose:
Quick overview of entire system state
No need to check multiple indicators
Trading decisions informed by population health, regime state, and signal quality
Transparency into what AGE is thinking
🔍 DIAGNOSTICS PANEL (Optional, Default: OFF)
Detailed signal quality tracking for optimization and debugging:
Panel Structure (3 columns × 8 rows)
Position: Bottom-right corner (doesn't interfere with main dashboard)
Header Row:
Column 0: "🔍 DIAGNOSTICS"
Column 1: "COUNT"
Column 2: "%"
Metrics Tracked (for selected strategy only):
Total Evaluated:
Every signal that passed initial calculation (direction ≠ 0)
Represents total opportunities considered
✓ Passed:
Signals that passed quality gate and executed
Green color coding
Percentage of evaluated signals
Rejection Breakdown:
⨯ Probability:
Rejected because probability < minimum threshold
Most common rejection reason typically
⨯ Confluence:
Rejected because confluence < minimum required (e.g., only 1 of 3 indicators agreed)
⨯ Trend:
Rejected because signal opposed strong trend
Indicates counter-trend protection working
⨯ Regime:
Rejected because volatile regime detected and probability wasn't high enough to override
Shows regime filter in action
⨯ Volume:
Rejected because volume < 70% of 20-bar average
Indicates volume confirmation requirement
Color Coding:
Passed count: Green (success metric)
Rejection counts: Red (failure metrics)
Percentages: Gray (neutral, informational)
Performance Cost: Slight CPU overhead for tracking counters. Disable when not actively optimizing settings.
How to Use Diagnostics
Scenario 1: Too Few Signals
Evaluated: 200
Passed: 10 (5%)
⨯ Probability: 120 (60%)
⨯ Confluence: 40 (20%)
⨯ Others: 30 (15%)
Diagnosis: Probability threshold too high for this strategy's DNA.
Solution: Lower min probability from 65% to 60%, or allow strategy more time to evolve better DNA.
Scenario 2: Too Many False Signals
Evaluated: 200
Passed: 80 (40%)
Strategy win rate: 45%
Diagnosis: Quality gate too loose, letting low-quality signals through.
Solution: Raise min probability to 70%, or increase min confluence to 3 (all indicators must agree).
Scenario 3: Regime-Specific Issues
⨯ Regime: 90 (45% of rejections)
Diagnosis: Frequent volatile regime detection blocking otherwise good signals.
Solution: Either accept fewer trades during chaos (recommended), or disable regime filter if you want signals regardless of market state.
Optimization Workflow:
Enable diagnostics
Run 200+ bars
Analyze rejection patterns
Adjust settings based on data
Re-run and compare pass rate
Disable diagnostics when satisfied
⚙️ CONFIGURATION GUIDE
🧬 Evolution Engine Settings
Enable AGE Evolution (Default: ON):
ON: Full genetic algorithm (recommended for best results)
OFF: Uses only 4 seed strategies, no spawning/culling (static population for comparison testing)
Max Population (4-12, Default: 8):
Higher = more diversity, more exploration, slower performance
Lower = faster computation, less exploration, risk of premature convergence
Sweet spot: 6-8 for most use cases
4 = minimum for meaningful evolution
12 = maximum before diminishing returns
Min Population (2-4, Default: 3):
Safety floor - system never culls below this count
Prevents population extinction during harsh selection
Should be at least half of max population
Elite Preservation (1-3, Default: 2):
Top N performers completely immune to culling
Ensures best genes always survive
1 = minimal protection, aggressive selection
2 = balanced (recommended)
3 = conservative, slower gene pool turnover
Historical: Spawn Interval (10-100, Default: 30):
Bars between spawning new strategies during historical data
Lower = faster evolution, more exploration
Higher = slower evolution, more evaluation time per strategy
30 bars = ~1-2 hours on 15min chart
Historical: Cull Interval (20-200, Default: 60):
Bars between culling weak strategies during historical data
Should be 2x spawn interval for balanced churn
Lower = aggressive selection pressure
Higher = patient evaluation
Live: Spawn Interval (100-500, Default: 200):
Bars between spawning during live trading
Much slower than historical for stability
Prevents population chaos during live trading
200 bars = ~1.5 trading days on 15min chart
Live: Cull Interval (200-1000, Default: 400):
Bars between culling during live trading
Should be 2x live spawn interval
Conservative removal during live trading
Historical: Mutation Rate (0.05-0.40, Default: 0.20):
Probability each gene mutates during breeding (20% = 2 out of 10 genes on average)
Higher = more exploration, slower convergence
Lower = more exploitation, faster convergence but risk of local optima
20% balances exploration vs exploitation
Live: Mutation Rate (0.02-0.20, Default: 0.08):
Mutation rate during live trading
Much lower for stability (don't want population to suddenly degrade)
8% = mostly inherits parent genes with small tweaks
Mutation Strength (0.05-0.25, Default: 0.12):
How much genes change when mutated (% of gene's total range)
0.05 = tiny nudges (fine-tuning)
0.12 = moderate jumps (recommended)
0.25 = large leaps (aggressive exploration)
Example: If gene range is 0.5-2.0, 12% strength = ±0.18 possible change
📈 Signal Quality Settings
Min Signal Probability (0.55-0.80, Default: 0.65):
Quality gate threshold - signals below this never generate
0.55-0.60 = More signals, accept lower confidence (higher risk)
0.65 = Institutional-grade balance (recommended)
0.70-0.75 = Fewer but higher-quality signals (conservative)
0.80+ = Very selective, very few signals (ultra-conservative)
Min Confluence Score (1-3, Default: 2):
Required indicator agreement before signal generates
1 = Any single indicator can trigger (not recommended - too many false signals)
2 = Requires 2 of 3 indicators agree (RECOMMENDED for balance)
3 = All 3 must agree (very selective, few signals, high quality)
Base Persistence Bars (1-5, Default: 2):
Base bars signal must persist before entry
System adapts automatically:
High probability signals (75%+) enter 1 bar faster
Low probability signals (<68%) need 1 bar more
Trending regime: -1 bar (faster entries)
Volatile regime: +1 bar (more confirmation)
1 = Immediate entry after quality gate (responsive but prone to whipsaw)
2 = Balanced confirmation (recommended)
3-5 = Patient confirmation (slower but more reliable)
Cooldown After Trade (3-20, Default: 8):
Bars to wait after exit before next entry allowed
Prevents overtrading and revenge trading
3 = Minimal cooldown (active trading)
8 = Balanced (recommended)
15-20 = Conservative (position trading)
Entropy Length (10-50, Default: 20):
Lookback period for market order/disorder calculation
Lower = more responsive to regime changes (noisy)
Higher = more stable regime detection (laggy)
20 = works across most timeframes
Momentum Length (5-30, Default: 14):
Period for RSI/ROC calculations
14 = standard (RSI default)
Lower = more signals, less reliable
Higher = fewer signals, more reliable
Structure Length (20-100, Default: 50):
Lookback for support/resistance swing range
20 = short-term swings (day trading)
50 = medium-term structure (recommended)
100 = major structure (position trading)
Trend EMA Length (20-100, Default: 50):
EMA period for trend detection and direction bias
20 = short-term trend (responsive)
50 = medium-term trend (recommended)
100 = long-term trend (position trading)
ATR Period (5-30, Default: 14):
Period for volatility measurement
14 = standard ATR
Lower = more responsive to vol changes
Higher = smoother vol calculation
📊 Volatility Scaling (DVS) Settings
Enable DVS (Default: ON):
Dynamic volatility scaling for adaptive stop/target placement
Highly recommended to leave ON
OFF only for testing fixed-distance stops
DVS Method (Default: Ensemble):
ATR Ratio: Simple, fast, single-method (good for beginners)
Parkinson: High-low range based (good for intraday)
Garman-Klass: OHLC based (sophisticated, considers gaps)
Ensemble: Median of all three (RECOMMENDED - most robust)
DVS Memory (20-200, Default: 100):
Lookback for baseline volatility comparison
20 = very responsive to vol changes (can overreact)
100 = balanced adaptation (recommended)
200 = slow, stable baseline (minimizes false vol signals)
DVS Sensitivity (0.3-1.5, Default: 0.7):
How much volatility affects scaling (power-law exponent)
0.3 = Conservative, heavily dampens vol impact (cube root)
0.5 = Moderate dampening (square root)
0.7 = Balanced response (recommended)
1.0 = Linear, full 1:1 vol response
1.5 = Aggressive, amplified response (exponential)
🔬 Walk-Forward Optimization Settings
Enable WFO (Default: ON):
Out-of-sample validation to prevent overfitting
Highly recommended to leave ON
OFF only for testing or if you want unvalidated strategies
Training Window (100-500, Default: 250):
Bars for in-sample optimization
100 = fast validation, less data (risky)
250 = balanced (recommended) - about 1-2 months on daily, 1-2 weeks on 15min
500 = patient validation, more data (conservative)
Testing Window (30-200, Default: 75):
Bars for out-of-sample validation
Should be ~30% of training window
30 = minimal test (fast validation)
75 = balanced (recommended)
200 = extensive test (very conservative)
Min Trades for Validation (3-15, Default: 5):
Required trades in BOTH training AND testing periods
3 = minimal sample (risky, fast validation)
5 = balanced (recommended)
10+ = conservative (slow validation, high confidence)
WFO Efficiency Threshold (0.3-0.9, Default: 0.55):
Minimum test/train performance ratio required
0.30 = Very loose (test must be 30% as good as training)
0.55 = Balanced (recommended) - test must be 55% as good
0.70+ = Strict (test must closely match training)
Higher = fewer validated strategies, lower risk of overfitting
🎨 Premium Visuals Settings
Visual Theme:
Neon Genesis: Cyberpunk aesthetic (cyan/magenta/purple)
Carbon Fiber: Industrial look (blue/red/gray)
Quantum Blue: Quantum computing (blue/purple/pink)
Aurora: Northern lights (teal/orange/purple)
⚡ Gradient Probability Cloud (Default: ON):
Multi-layer gradient showing signal buildup
Turn OFF if chart lags or for cleaner look
Cloud Gradient Layers (3-15, Default: 7):
More layers = smoother gradient, more CPU intensive
Fewer layers = faster, blockier appearance
🎗️ Population Fitness Ribbon (Default: ON):
Histogram showing fitness distribution
Turn OFF for cleaner chart
Ribbon Layers (5-20, Default: 10):
More layers = finer fitness detail
Fewer layers = simpler histogram
⭕ Signal Confidence Halo (Default: ON):
Circular indicator around entry signals
Size/brightness scales with probability
Minimal performance cost
🔬 Evolution Event Markers (Default: ON):
Diamond (spawn) and X (cull) markers
Shows genetic algorithm activity
Minimal performance cost
🎯 Stop/Target Lines (Default: ON):
Shows shadow portfolio stop/target levels
Turn OFF for cleaner chart (recommended for screenshots/presentations)
📊 Enhanced Dashboard (Default: ON):
Comprehensive metrics panel
Should stay ON unless you want zero overlays
🔍 Diagnostics Panel (Default: OFF):
Detailed signal rejection tracking
Turn ON when optimizing settings
Turn OFF during normal use (slight performance cost)
📈 USAGE WORKFLOW - HOW TO USE THIS INDICATOR
Phase 1: Initial Setup & Learning
Add AGE to your chart
Recommended timeframes: 15min, 30min, 1H (best signal-to-noise ratio)
Works on: 5min (day trading), 4H (swing trading), Daily (position trading)
Load 1000+ bars for sufficient evolution history
Let the population evolve (100+ bars minimum)
First 50 bars: Random exploration, poor results expected
Bars 50-150: Population converging, fitness improving
Bars 150+: Stable performance, validated strategies emerging
Watch the dashboard metrics
Population should grow toward max capacity
Generation number should advance regularly
Validated strategies counter should increase
Best fitness should trend upward toward 0.50-0.70 range
Observe evolution markers
Diamond markers (cyan) = new strategies spawning
X markers (red) = weak strategies being culled
Frequent early activity = healthy evolution
Activity slowing = population stabilizing
Be patient. Evolution takes time. Don't judge performance before 150+ bars.
Phase 2: Signal Observation
Watch signals form
Gradient cloud builds up 2-3 bars before entry
Cloud brightness = probability strength
Cloud thickness = signal persistence
Check signal quality
Look at confidence halo size when entry marker appears
Large bright halo = elite setup (85%+)
Medium halo = strong setup (75-85%)
Small halo = good setup (65-75%)
Verify market conditions
Check trend EMA color (green = uptrend, red = downtrend, gray = choppy)
Check background tint (green = trending, red = volatile, clear = choppy)
Trending background + aligned signal = ideal conditions
Review dashboard signal status
Current Signal column shows:
Status (Long/Short/Forming/Waiting)
Confidence % (actual probability value)
Quality assessment (Elite/Strong/Good)
Confluence score (2/3 or 3/3 preferred)
Only signals meeting ALL quality gates appear on chart. If you're not seeing signals, population is either still learning or market conditions aren't suitable.
Phase 3: Manual Trading Execution
When Long Signal Fires:
Verify confidence level (dashboard or halo size)
Confirm trend alignment (EMA sloping up, green color)
Check regime (preferably trending or choppy, avoid volatile)
Enter long manually on your broker platform
Set stop loss at displayed stop line level (if lines enabled), or use your own risk management
Set take profit at displayed target line level, or trail manually
Monitor position - exit if X marker appears (signal reversal)
When Short Signal Fires:
Same verification process
Confirm downtrend (EMA sloping down, red color)
Enter short manually
Use displayed stop/target levels or your own
AGE tells you WHEN and HOW CONFIDENT. You decide WHETHER and HOW MUCH.
Phase 4: Set Up Alerts (Never Miss a Signal)
Right-click on indicator name in legend
Select "Add Alert"
Choose condition:
"AGE Long" = Long entry signal fired
"AGE Short" = Short entry signal fired
"AGE Exit" = Position reversal/exit signal
Set notification method:
Sound alert (popup on chart)
Email notification
Webhook to phone/trading platform
Mobile app push notification
Name the alert (e.g., "AGE BTCUSD 15min Long")
Save alert
Recommended: Set alerts for both long and short, enable mobile push notifications. You'll get alerted in real-time even if not watching charts.
Phase 5: Monitor Population Health
Weekly Review:
Check dashboard Population column:
Active count should be near max (6-8 of 8)
Validated count should be >50% of active
Generation should be advancing (1-2 per week typical)
Check dashboard Performance column:
Aggregate win rate should be >50% (target: 55-65%)
Total P&L should be positive (may fluctuate)
Best fitness should be >0.50 (target: 0.55-0.70)
MAS should be declining slowly (normal adaptation)
Check Active Strategy column:
Selected strategy should be validated (✓ VAL)
Personal fitness should match best fitness
Trade count should be accumulating
Win rate should be >50%
Warning Signs:
Zero validated strategies after 300+ bars = settings too strict or market unsuitable
Best fitness stuck <0.30 = population struggling, consider parameter adjustment
No spawning/culling for 200+ bars = evolution stalled (may be optimal or need reset)
Aggregate win rate <45% sustained = system not working on this instrument/timeframe
Health Check Pass:
50%+ strategies validated
Best fitness >0.50
Aggregate win rate >52%
Regular spawn/cull activity
Selected strategy validated
Phase 6: Optimization (If Needed)
Enable Diagnostics Panel (bottom-right) for data-driven tuning:
Problem: Too Few Signals
Evaluated: 200
Passed: 8 (4%)
⨯ Probability: 140 (70%)
Solutions:
Lower min probability: 65% → 60% or 55%
Reduce min confluence: 2 → 1
Lower base persistence: 2 → 1
Increase mutation rate temporarily to explore new genes
Check if regime filter is blocking signals (⨯ Regime high?)
Problem: Too Many False Signals
Evaluated: 200
Passed: 90 (45%)
Win rate: 42%
Solutions:
Raise min probability: 65% → 70% or 75%
Increase min confluence: 2 → 3
Raise base persistence: 2 → 3
Enable WFO if disabled (validates strategies before use)
Check if volume filter is being ignored (⨯ Volume low?)
Problem: Counter-Trend Losses
⨯ Trend: 5 (only 5% rejected)
Losses often occur against trend
Solutions:
System should already filter trend opposition
May need stronger trend requirement
Consider only taking signals aligned with higher timeframe trend
Use longer trend EMA (50 → 100)
Problem: Volatile Market Whipsaws
⨯ Regime: 100 (50% rejected by volatile regime)
Still getting stopped out frequently
Solutions:
System is correctly blocking volatile signals
Losses happening because vol filter isn't strict enough
Consider not trading during volatile periods (respect the regime)
Or disable regime filter and accept higher risk
Optimization Workflow:
Enable diagnostics
Run 200+ bars with current settings
Analyze rejection patterns and win rate
Make ONE change at a time (scientific method)
Re-run 200+ bars and compare results
Keep change if improvement, revert if worse
Disable diagnostics when satisfied
Never change multiple parameters at once - you won't know what worked.
Phase 7: Multi-Instrument Deployment
AGE learns independently on each chart:
Recommended Strategy:
Deploy AGE on 3-5 different instruments
Different asset classes ideal (e.g., ES futures, EURUSD, BTCUSD, SPY, Gold)
Each learns optimal strategies for that instrument's personality
Take signals from all 5 charts
Natural diversification reduces overall risk
Why This Works:
When one market is choppy, others may be trending
Different instruments respond to different news/catalysts
Portfolio-level win rate more stable than single-instrument
Evolution explores different parameter spaces on each chart
Setup:
Same settings across all charts (or customize if preferred)
Set alerts for all
Take every validated signal across all instruments
Position size based on total account (don't overleverage any single signal)
⚠️ REALISTIC EXPECTATIONS - CRITICAL READING
What AGE Can Do
✅ Generate probability-weighted signals using genetic algorithms
✅ Evolve strategies in real-time through natural selection
✅ Validate strategies on out-of-sample data (walk-forward optimization)
✅ Adapt to changing market conditions automatically over time
✅ Provide comprehensive metrics on population health and signal quality
✅ Work on any instrument, any timeframe, any broker
✅ Improve over time as weak strategies are culled and fit strategies breed
What AGE Cannot Do
❌ Win every trade (typical win rate: 55-65% at best)
❌ Predict the future with certainty (markets are probabilistic, not deterministic)
❌ Work perfectly from bar 1 (needs 100-150 bars to learn and stabilize)
❌ Guarantee profits under all market conditions
❌ Replace your trading discipline and risk management
❌ Execute trades automatically (this is an indicator, not a strategy)
❌ Prevent all losses (drawdowns are normal and expected)
❌ Adapt instantly to regime changes (re-learning takes 50-100 bars)
Performance Realities
Typical Performance After Evolution Stabilizes (150+ bars):
Win Rate: 55-65% (excellent for trend-following systems)
Profit Factor: 1.5-2.5 (realistic for validated strategies)
Signal Frequency: 5-15 signals per 100 bars (quality over quantity)
Drawdown Periods: 20-40% of time in equity retracement (normal trading reality)
Max Consecutive Losses: 5-8 losses possible even with 60% win rate (probability says this is normal)
Evolution Timeline:
Bars 0-50: Random exploration, learning phase - poor results expected, don't judge yet
Bars 50-150: Population converging, fitness climbing - results improving
Bars 150-300: Stable performance, most strategies validated - consistent results
Bars 300+: Mature population, optimal genes dominant - best results
Market Condition Dependency:
Trending Markets: AGE excels - clear directional moves, high-probability setups
Choppy Markets: AGE struggles - fewer signals generated, lower win rate
Volatile Markets: AGE cautious - higher rejection rate, wider stops, fewer trades
Market Regime Changes:
When market shifts from trending to choppy overnight
Validated strategies can become temporarily invalidated
AGE will adapt through evolution, but not instantly
Expect 50-100 bar re-learning period after major regime shifts
Fitness may temporarily drop then recover
This is NOT a holy grail. It's a sophisticated signal generator that learns and adapts using genetic algorithms. Your success depends on:
Patience during learning periods (don't abandon after 3 losses)
Proper position sizing (risk 0.5-2% per trade, not 10%)
Following signals consistently (cherry-picking defeats statistical edge)
Not abandoning system prematurely (give it 200+ bars minimum)
Understanding probability (60% win rate means 40% of trades WILL lose)
Respecting market conditions (trending = trade more, choppy = trade less)
Managing emotions (AGE is emotionless, you need to be too)
Expected Drawdowns:
Single-strategy max DD: 10-20% of equity (normal)
Portfolio across multiple instruments: 5-15% (diversification helps)
Losing streaks: 3-5 consecutive losses expected periodically
No indicator eliminates risk. AGE manages risk through:
Quality gates (rejecting low-probability signals)
Confluence requirements (multi-indicator confirmation)
Persistence requirements (no knee-jerk reactions)
Regime awareness (reduced trading in chaos)
Walk-forward validation (preventing overfitting)
But it cannot prevent all losses. That's inherent to trading.
🔧 TECHNICAL SPECIFICATIONS
Platform: TradingView Pine Script v5
Indicator Type: Overlay indicator (plots on price chart)
Execution Type: Signals only - no automatic order placement
Computational Load:
Moderate to High (genetic algorithms + shadow portfolios)
8 strategies × shadow portfolio simulation = significant computation
Premium visuals add additional load (gradient cloud, fitness ribbon)
TradingView Resource Limits (Built-in Caps):
Max Bars Back: 500 (sufficient for WFO and evolution)
Max Labels: 100 (plenty for entry/exit markers)
Max Lines: 150 (adequate for stop/target lines)
Max Boxes: 50 (not heavily used)
Max Polylines: 100 (confidence halos)
Recommended Chart Settings:
Timeframe: 15min to 1H (optimal signal/noise balance)
5min: Works but noisier, more signals
4H/Daily: Works but fewer signals
Bars Loaded: 1000+ (ensures sufficient evolution history)
Replay Mode: Excellent for testing without risk
Performance Optimization Tips:
Disable gradient cloud if chart lags (most CPU intensive visual)
Disable fitness ribbon if still laggy
Reduce cloud layers from 7 to 3
Reduce ribbon layers from 10 to 5
Turn off diagnostics panel unless actively tuning
Close other heavy indicators to free resources
Browser/Platform Compatibility:
Works on all modern browsers (Chrome, Firefox, Safari, Edge)
Mobile app supported (full functionality on phone/tablet)
Desktop app supported (best performance)
Web version supported (may be slower on older computers)
Data Requirements:
Real-time or delayed data both work
No special data feeds required
Works with TradingView's standard data
Historical + live data seamlessly integrated
🎓 THEORETICAL FOUNDATIONS
AGE synthesizes advanced concepts from multiple disciplines:
Evolutionary Computation
Genetic Algorithms (Holland, 1975): Population-based optimization through natural selection metaphor
Tournament Selection: Fitness-based parent selection with diversity preservation
Crossover Operators: Fitness-weighted gene recombination from two parents
Mutation Operators: Random gene perturbation for exploration of new parameter space
Elitism: Preservation of top N performers to prevent loss of best solutions
Adaptive Parameters: Different mutation rates for historical vs. live phases
Technical Analysis
Support/Resistance: Price structure within swing ranges
Trend Following: EMA-based directional bias
Momentum Analysis: RSI, ROC, MACD composite indicators
Volatility Analysis: ATR-based risk scaling
Volume Confirmation: Trade activity validation
Information Theory
Shannon Entropy (1948): Quantification of market order vs. disorder
Signal-to-Noise Ratio: Directional information vs. random walk
Information Content: How much "information" a price move contains
Statistics & Probability
Walk-Forward Analysis: Rolling in-sample/out-of-sample optimization
Out-of-Sample Validation: Testing on unseen data to prevent overfitting
Monte Carlo Principles: Shadow portfolio simulation with realistic execution
Expectancy Theory: Win rate × avg win - loss rate × avg loss
Probability Distributions: Signal confidence quantification
Risk Management
ATR-Based Stops: Volatility-normalized risk per trade
Volatility Regime Detection: Market state classification (trending/choppy/volatile)
Drawdown Control: Peak-to-trough equity measurement
R-Multiple Normalization: Performance measurement in risk units
Machine Learning Concepts
Online Learning: Continuous adaptation as new data arrives
Fitness Functions: Multi-objective optimization (win rate + expectancy + drawdown)
Exploration vs. Exploitation: Balance between trying new strategies and using proven ones
Overfitting Prevention: Walk-forward validation as regularization
Novel Contribution:
AGE is the first TradingView indicator to apply genetic algorithms to real-time indicator parameter optimization while maintaining strict anti-overfitting controls through walk-forward validation.
Most "adaptive" indicators simply recalibrate lookback periods or thresholds. AGE evolves entirely new strategies through competitive selection - it's not parameter tuning, it's Darwinian evolution of trading logic itself.
The combination of:
Genetic algorithm population management
Shadow portfolio simulation for realistic fitness evaluation
Walk-forward validation to prevent overfitting
Multi-indicator confluence for signal quality
Dynamic volatility scaling for adaptive risk
...creates a system that genuinely learns and improves over time while avoiding the curse of curve-fitting that plagues most optimization approaches.
🏗️ DEVELOPMENT NOTES
This project represents months of intensive development, facing significant technical challenges:
Challenge 1: Making Genetics Actually Work
Early versions spawned garbage strategies that polluted the gene pool:
Random gene combinations produced nonsensical parameter sets
Weak strategies survived too long, dragging down population
No clear convergence toward optimal solutions
Solution:
Comprehensive fitness scoring (4 factors: win rate, P&L, expectancy, drawdown)
Elite preservation (top 2 always protected)
Walk-forward validation (unproven strategies penalized 30%)
Tournament selection (fitness-weighted breeding)
Adaptive culling (MAS decay creates increasing selection pressure)
Challenge 2: Balancing Evolution Speed vs. Stability
Too fast = population chaos, no convergence. Too slow = can't adapt to regime changes.
Solution:
Dual-phase timing: Fast evolution during historical (30/60 bar intervals), slow during live (200/400 bar intervals)
Adaptive mutation rates: 20% historical, 8% live
Spawn/cull ratio: Always 2:1 to prevent population collapse
Challenge 3: Shadow Portfolio Accuracy
Needed realistic trade simulation without lookahead bias:
Can't peek at future bars for exits
Must track multiple portfolios simultaneously
Stop/target checks must use bar's high/low correctly
Solution:
Entry on close (realistic)
Exit checks on current bar's high/low (realistic)
Independent position tracking per strategy
Cooldown periods to prevent unrealistic rapid re-entry
ATR-normalized P&L (R-multiples) for fair comparison across volatility regimes
Challenge 4: Pine Script Compilation Limits
Hit TradingView's execution limits multiple times:
Too many array operations
Too many variables
Too complex conditional logic
Solution:
Optimized data structures (single DNA array instead of 8 separate arrays)
Minimal visual overlays (only essential plots)
Efficient fitness calculations (vectorized where possible)
Strategic use of barstate.islast to minimize dashboard updates
Challenge 5: Walk-Forward Implementation
Standard WFO is difficult in Pine Script:
Can't easily "roll forward" through historical data
Can't re-optimize strategies mid-stream
Must work in real-time streaming environment
Solution:
Age-based phase detection (first 250 bars = training, next 75 = testing)
Separate metric tracking for train vs. test
Efficiency calculation at fixed interval (after test period completes)
Validation flag persists for strategy lifetime
Challenge 6: Signal Quality Control
Early versions generated too many signals with poor win rates:
Single indicators produced excessive noise
No trend alignment
No regime awareness
Instant entries on single-bar spikes
Solution:
Three-layer confluence system (entropy + momentum + structure)
Minimum 2-of-3 agreement requirement
Trend alignment checks (penalty for counter-trend)
Regime-based probability adjustments
Persistence requirements (signals must hold multiple bars)
Volume confirmation
Quality gate (probability + confluence thresholds)
The Result
A system that:
Truly evolves (not just parameter sweeps)
Truly validates (out-of-sample testing)
Truly adapts (ongoing competition and breeding)
Stays within TradingView's platform constraints
Provides institutional-quality signals
Maintains transparency (full metrics dashboard)
Development time: 3+ months of iterative refinement
Lines of code: ~1500 (highly optimized)
Test instruments: ES, NQ, EURUSD, BTCUSD, SPY, AAPL
Test timeframes: 5min, 15min, 1H, Daily
🎯 FINAL WORDS
The Adaptive Genesis Engine is not just another indicator - it's a living system that learns, adapts, and improves through the same principles that drive biological evolution. Every bar it observes adds to its experience. Every strategy it spawns explores new parameter combinations. Every strategy it culls removes weakness from the gene pool.
This is evolution in action on your charts.
You're not getting a static formula locked in time. You're getting a system that thinks , that competes , that survives through natural selection. The strongest strategies rise to the top. The weakest die. The gene pool improves generation after generation.
AGE doesn't claim to predict the future - it adapts to whatever the future brings. When markets shift from trending to choppy, from calm to volatile, from bullish to bearish - AGE evolves new strategies suited to the new regime.
Use it on any instrument. Any timeframe. Any market condition. AGE will adapt.
This indicator gives you the pure signal intelligence. How you choose to act on it - position sizing, risk management, execution discipline - that's your responsibility. AGE tells you when and how confident . You decide whether and how much .
Trust the process. Respect the evolution. Let Darwin work.
"In markets, as in nature, it is not the strongest strategies that survive, nor the most intelligent - but those most responsive to change."
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
— Happy Holiday's
RSI Candles Pro [MTF]**RSI Candles Pro**
## **Overview**
The RSI Candles Pro indicator provides an advanced framework for visualizing RSI momentum through candlestick representation, structural analysis, and multi-dimensional confirmation signals. Unlike conventional RSI oscillators that display only a line plot, this system transforms RSI into a complete OHLC candlestick chart with integrated strength metrics, structural break detection, divergence analysis, and dynamic support/resistance mapping.
Each element adapts continuously to RSI behavior, offering traders a living map of momentum shifts, structural changes, and reversal potential. The indicator doesn't simply show overbought/oversold conditions—it quantifies momentum strength, tracks structural breaks, detects price-RSI divergences, and projects key inflection levels with precision.
The result is a comprehensive, momentum-aware representation of market structure:
- **RSI OHLC Candles** visualize momentum direction, strength, and conviction through candlestick patterns with dynamic color intensity.
- **Strength Scoring System** quantifies momentum conviction using distance from neutral, momentum acceleration, and candle body characteristics.
- **RSI Structure Lines & Zones** connect swing highs and lows, creating visual support/resistance zones within RSI space.
- **Break of Structure (BOS) Detection** identifies decisive momentum shifts when RSI breaks previous structural levels, complete with projected support/resistance lines.
- **Auto Pivot Horizontal Lines** dynamically map key RSI levels where price repeatedly reacts, serving as momentum inflection zones.
- **Divergence Detection** captures classic bullish and bearish divergences between price action and RSI behavior, flagging potential reversal conditions.
Unlike static RSI line plots or simple zone highlighting, RSI Candles Pro fuses candlestick visualization with structural awareness, strength quantification, and divergence analysis to provide a clear, multi-dimensional picture of momentum dynamics and potential turning points.
---
## **Theoretical Foundation**
The RSI Candles Pro indicator builds on principles of **momentum oscillation theory**, **structural market analysis**, and **divergence recognition**—concepts widely used by technical analysts to identify trend strength, exhaustion, and reversal conditions.
Standard RSI indicators display momentum as a single line crossing threshold levels, but this approach ignores critical dimensions: **momentum strength**, **structural context**, and **rate of change acceleration**. This indicator recognizes that RSI behavior can be decomposed into candlestick patterns that reveal conviction, hesitation, and reversal signals just as price candles do.
At its core are six interacting components:
### **1. RSI OHLC Candlestick Construction**
The indicator calculates RSI independently for open, high, low, and close prices within each bar, creating true RSI candlesticks rather than a single-line plot. This reveals:
- **Momentum direction** (bullish vs. bearish candles)
- **Momentum volatility** (wick length shows RSI range)
- **Momentum conviction** (body size indicates decisiveness)
- **Indecision patterns** (doji candles signal momentum exhaustion)
### **2. Strength Scoring Algorithm**
A composite strength score quantifies momentum conviction by analyzing three factors:
- **Distance from neutral (50 level)**: Greater distance indicates stronger directional bias
- **Momentum acceleration**: Rate of RSI change over recent bars reveals building or fading momentum
- **Body-to-range ratio**: Larger bodies relative to total candle range show decisive momentum vs. indecision
This produces a 0-100 strength score that dynamically adjusts candle transparency—strong moves appear vibrant, weak moves appear faded—providing instant visual feedback on momentum quality.
### **3. RSI EMA with Slope-Sensitive Coloring**
A smoothed exponential moving average of RSI serves as a trend filter, but with a critical enhancement: **dynamic color coding based on slope direction**. When the RSI EMA slopes upward, it displays in bullish color; when sloping downward, bearish color. This provides instant trend context and filters noise from raw RSI fluctuations.
### **4. RSI Structural Framework**
The indicator identifies swing highs and lows within RSI space using pivot detection, then:
- **Connects consecutive swings with lines** to visualize RSI trend channels
- **Creates shaded zones between swings** to highlight support/resistance regions in momentum space
- **Implements cooloff periods** to prevent redundant signals and maintain chart clarity
These structural elements reveal whether RSI is forming higher highs/higher lows (bullish structure) or lower highs/lower lows (bearish structure).
### **5. Break of Structure (BOS) Logic**
The system detects **decisive momentum shifts** when RSI breaks previous structural levels in alignment with RSI EMA trend direction:
- **Bullish BOS**: RSI breaks above previous swing high while RSI EMA is rising
- **Bearish BOS**: RSI breaks below previous swing low while RSI EMA is falling
When BOS occurs, the indicator automatically:
- Places a BOS label at the breakout point
- Projects a support/resistance line forward (20+ bars)
- Creates a shaded zone around the S/R level
- Provides tooltip information with exact S/R values
This gives traders actionable levels where momentum shifts may be defended or rejected.
### **6. Price-RSI Divergence Detection**
Classic divergence analysis identifies conditions where price and momentum disagree:
- **Bullish Divergence**: Price makes lower low, RSI makes higher low (momentum refusing to confirm weakness)
- **Bearish Divergence**: Price makes higher high, RSI makes lower high (momentum weakening despite price strength)
Divergences often precede significant reversals, providing early warning signals before price structure breaks.
### **7. Auto Pivot Horizontal Lines**
The indicator dynamically tracks historical RSI pivot points and plots horizontal lines at these levels, extended forward in time. These act as **momentum support/resistance zones**—levels where RSI has repeatedly turned in the past and may respect again in the future. The system:
- Detects unique pivot levels (filtering duplicates within 2 RSI points)
- Maintains a configurable maximum number of lines per side
- Optionally extends lines infinitely right for persistent reference
- Labels each line with its exact RSI value
By integrating these elements, the indicator provides both micro-level momentum analysis (individual candle strength) and macro-level structural context (swing patterns, BOS events, divergences, key levels), maintaining clarity while revealing momentum dynamics in real time.
---
## **How It Works**
The RSI Candles Pro indicator operates through layered processing stages:
### **Stage 1: RSI OHLC Calculation**
- Four independent RSI calculations are performed for each bar: RSI(open), RSI(high), RSI(low), RSI(close)
- These are combined to form RSI candlesticks:
- **RSI Open/Close**: Determines candle body direction and size
- **RSI High**: Highest value among all four RSI calculations becomes upper wick
- **RSI Low**: Lowest value among all four RSI calculations becomes lower wick
- This creates a complete candlestick representation in RSI space that mirrors price action behavior
### **Stage 2: Strength Score Computation**
For each RSI candle, a composite strength score is calculated:
This score drives **dynamic transparency**: strong moves (score > 70) display with high opacity, weak moves (score < 40) display faded, providing instant visual feedback on momentum quality.
### **Stage 3: RSI EMA Trend Filter**
- An exponential moving average smooths RSI values over a configurable period (default 9)
- The slope is calculated: `rsiEmaSlope = rsiEMA - rsiEMA `
- Dynamic coloring:
- **Positive slope** → Green/Bullish color
- **Negative slope** → Red/Bearish color
- **Flat slope** → Gray/Neutral color
- This provides trend context and filters out noise from raw RSI oscillations
### **Stage 4: Structural Swing Detection**
- Swing highs and lows are identified using pivot detection with configurable lookback (default 5 bars left/right)
- **Cooloff mechanism** prevents redundant signals by requiring minimum bars between swings (default 8)
- When new swings are detected:
- Previous swing values are stored for BOS comparison
- Lines connect consecutive swings to visualize momentum structure
- Shaded boxes (zones) highlight the range between swings as support/resistance regions
### **Stage 5: Break of Structure (BOS) Analysis**
The system monitors RSI behavior relative to previous structural levels:
**Bullish BOS triggers when:**
1. RSI EMA slope is positive (uptrend filter)
2. Current RSI close exceeds previous swing high
3. Previous bar's RSI was below that swing high (confirms break)
4. Cooloff period has elapsed since last bullish BOS (default 10 bars)
**Bearish BOS triggers when:**
1. RSI EMA slope is negative (downtrend filter)
2. Current RSI close breaks below previous swing low
3. Previous bar's RSI was above that swing low (confirms break)
4. Cooloff period has elapsed since last bearish BOS
Upon BOS detection, the indicator automatically:
- Places a labeled marker at the breakout point
- Calculates S/R level with buffer (e.g., RSI low - 0.5 points for bullish BOS)
- Draws a dashed S/R line extending forward (configurable, default 20 bars)
- Creates a shaded S/R zone (±0.5 points from line)
- Adds an "S/R" label at the line's end
### **Stage 6: Auto Pivot Line Management**
- Pivot highs and lows are detected using a separate lookback period (default 5)
- When a new pivot forms:
- System checks if a similar level already exists (within 2 RSI points)
- If unique, adds a horizontal line at that RSI value
- Lines are stored in arrays with configurable maximum capacity (default 4 per side)
- Oldest lines are automatically removed when capacity is exceeded
- Optional labels display exact RSI values at pivot levels
### **Stage 7: Divergence Detection**
The system compares price pivot points with RSI pivot points:
**Bearish Divergence:**
- Price makes higher high compared to previous pivot high
- RSI makes lower high compared to previous RSI pivot high
- RSI must be above 50 (mid-level) to confirm overbought context
- Triangle-down marker placed above candle with "DIV" text
**Bullish Divergence:**
- Price makes lower low compared to previous pivot low
- RSI makes higher low compared to previous RSI pivot low
- RSI must be below 50 to confirm oversold context
- Triangle-up marker placed below candle with "DIV" text
### **Stage 8: Strength Dot Visualization**
Colored dots appear according to Delta Volume strength:
### **Stage 9: Real-Time Info Table**
Through these processes, the indicator creates a living, adaptive representation of RSI behavior that reveals both momentum strength and structural context in real time.
---
## **Interpretation**
The RSI Candles Pro indicator reframes momentum reading from simple overbought/oversold levels to structured awareness of momentum behavior:
### **Candle Patterns**
- **Large-bodied bullish candles (vibrant green)**: Strong, decisive bullish momentum—continuation likely
- **Large-bodied bearish candles (vibrant red)**: Strong, decisive bearish momentum—continuation likely
- **Small-bodied or doji candles (faded/gray)**: Indecision or momentum exhaustion—reversal possible
- **Long upper wicks**: Failed bullish momentum—rejection at resistance
- **Long lower wicks**: Failed bearish momentum—support holding
### **RSI EMA Trend Context**
- **RSI EMA rising (green)**: Momentum uptrend—favor bullish setups
- **RSI EMA falling (red)**: Momentum downtrend—favor bearish setups
- **RSI EMA flat (gray)**: Momentum consolidation—wait for directional clarity
### **Structural Analysis**
- **RSI making higher swing lows with rising EMA**: Bullish structure intact—look for dip-buying opportunities
- **RSI making lower swing highs with falling EMA**: Bearish structure intact—look for rally-selling opportunities
- **Shaded structure zones**: Key support/resistance in momentum space—expect reactions at these levels
### **Break of Structure Signals**
- **Bullish BOS + S/R line**: Momentum confirming upward shift—S/R line becomes support if price dips
- **Bearish BOS + S/R line**: Momentum confirming downward shift—S/R line becomes resistance if price rallies
- **S/R line break**: Momentum structure failing—potential reversal or deeper retracement
### **Pivot Lines**
- **Price approaching RSI pivot high**: Momentum resistance—watch for rejection or breakout
- **Price approaching RSI pivot low**: Momentum support—watch for bounce or breakdown
- **Multiple pivot lines clustered**: Strong momentum support/resistance zone—high-probability reaction area
### **Divergences**
- **Bullish divergence in oversold zone**: Momentum refusing to make new lows despite price weakness—reversal setup
- **Bearish divergence in overbought zone**: Momentum weakening despite price strength—reversal setup
- **Divergence + structure break**: High-conviction reversal signal—combined technical and momentum confirmation
### **Strength Dots**
- **Large dots**: High-conviction moves—reliable trend continuation signals
- **Small dots**: Low-conviction moves—increased reversal risk, avoid chasing
- **Diamond warnings in extremes**: Overextended conditions—prepare for mean reversion
### **Zone Background**
- **Red background (RSI > 70)**: Overbought—watch for bearish divergence or momentum exhaustion
- **Green background (RSI < 30)**: Oversold—watch for bullish divergence or momentum recovery
- **No background (30-70)**: Neutral zone—rely on structure and BOS for directional bias
---
## **Strategy Integration**
RSI Candles Pro integrates seamlessly into momentum-based and reversal trading systems:
### **Trend Continuation Strategies**
- **Entry trigger**: Bullish BOS in rising RSI EMA context with strong candle (large dot)
- **Confirmation**: Price respecting S/R line as support on pullback
- **Exit**: Bearish divergence or RSI candle indecision (doji) at pivot resistance
### **Reversal Strategies**
- **Setup**: Divergence forming in extreme zone (RSI > 70 or < 30)
- **Trigger**: RSI structure break opposite to prevailing trend (bearish BOS in uptrend)
- **Confirmation**: RSI EMA slope change + decisive candle in reversal direction
- **Entry**: On pullback to S/R line or pivot level
### **Momentum Fade Strategies**
- **Signal**: Small strength dots appearing in extreme zones
- **Setup**: RSI touching pivot resistance/support with indecision candle
- **Entry**: Opposite-direction candle with medium/large dot
- **Stop**: Beyond recent RSI structure level
### **Structure-Based Entries**
- **Align higher-timeframe RSI trend** (EMA slope direction)
- **Wait for lower-timeframe BOS** in alignment with higher trend
- **Enter on retest** of S/R line with strength confirmation (large dot)
- **Scale out** at next pivot level or divergence signal
### **Multi-Indicator Confluence**
Combine RSI Candles Pro with:
- **Price structure indicators** (Smart Money Concepts, market structure) for trade direction
- **Volume indicators** to confirm momentum with participation
- **Volatility indicators** (ATR, Bollinger Bands) for position sizing context
- **Institutional Zone Detector** for volume profile alignment—RSI BOS + price at VAL/VAH = high-conviction entry
### **Multi-Timeframe Coordination**
- **Higher timeframe** (4H-Daily): Identify RSI EMA trend direction and major structure
- **Lower timeframe** (15min-1H): Execute entries on BOS signals aligned with higher timeframe
- **Micro timeframe** (1-5min): Fine-tune entries using strength dots and pivot reactions
---
## **Technical Implementation Details**
### **Core Engine**
- **RSI OHLC calculation**: Four independent RSI computations per bar create candlestick representation
- **Strength scoring**: Multi-factor composite algorithm quantifies momentum conviction
- **Dynamic transparency**: Real-time opacity adjustment based on strength score
### **Structural Framework**
- **Pivot-based swing detection**: Configurable left/right bar lookback with cooloff mechanism
- **Line and zone visualization**: Connects consecutive swings with shaded support/resistance regions
- **Array-based storage**: Previous swing values preserved for BOS comparison logic
### **BOS Detection Engine**
- **Dual-condition logic**: Structure break + trend alignment (RSI EMA slope) required
- **Automatic S/R projection**: Lines, zones, and labels generated upon BOS events
- **Cooloff management**: Prevents signal spam during extended directional moves
### **Divergence System**
- **Price-RSI pivot comparison**: Detects higher-high/lower-high and lower-low/higher-low patterns
- **Zone filtering**: Divergences only trigger in appropriate zones (above/below 50)
- **Visual markers**: Triangle shapes with "DIV" text for instant recognition
### **Auto Pivot Management**
- **Dynamic level tracking**: Arrays store lines, values, and labels
- **Duplicate filtering**: Prevents redundant lines within 2 RSI points
- **Capacity control**: Automatic removal of oldest lines when maximum reached
- **Optional extension**: Lines can extend infinitely right for persistent reference
### **Performance Profile**
- **Lightweight computation**: Efficient pivot detection and array management
- **Real-time responsiveness**: Immediate updates on bar close
- **Scalable across timeframes**: Maintains clarity from 1-minute to daily charts
- **Configurable visual elements**: All features can be toggled for custom layouts
---
## **Optimal Application Parameters**
### **Timeframe Guidance**
**1-5 Minute Charts (Scalping):**
- RSI Length: 9-11 (faster response)
- RSI EMA Length: 5-7
- Structure Lookback: 3-4
- Pivot Lookback: 3-4
- Use Case: Micro momentum shifts, quick BOS entries
**15-60 Minute Charts (Intraday Swing):**
- RSI Length: 14 (standard)
- RSI EMA Length: 9
- Structure Lookback: 5
- Pivot Lookback: 5
- Use Case: Intraday structure breaks, divergence reversals
**4 Hour - Daily Charts (Position Trading):**
- RSI Length: 14-21
- RSI EMA Length: 13-21
- Structure Lookback: 7-10
- Pivot Lookback: 7-10
- Use Case: Major momentum shifts, high-timeframe divergences
### **Suggested Configuration (Default)**
- **RSI Length**: 14 (industry standard)
- **RSI EMA Length**: 9 (smooth but responsive)
- **Overbought Level**: 70
- **Oversold Level**: 30
- **Structure Lookback**: 5 bars
- **Structure Cooloff**: 8 bars
- **BOS Cooloff**: 10 bars
- **S/R Extension**: 20 bars
- **S/R Buffer**: 0.5 RSI points
- **Pivot Lookback**: 5 bars
- **Max Pivot Lines**: 4 per side
- **Divergence Lookback**: 5 bars
- Use strength dots as primary filter—require large dots for entries
- Rely heavily on divergences and structure zones
**Trending Markets:**
- Focus on BOS signals aligned with RSI EMA slope
- Use pivot lines as profit targets
- Ignore counter-trend divergences until RSI EMA changes slope
**Ranging Markets:**
- Emphasize divergences at extreme levels
- Trade bounces from pivot lines
- Reduce reliance on BOS signals (more false breaks)
---
## **Performance Characteristics**
### **High Effectiveness:**
- **Trending markets with clear momentum cycles**: RSI structure aligns with price structure for reliable BOS signals
- **Markets with defined swing patterns**: Pivot lines and structure zones provide accurate support/resistance
- **Divergence-prone assets**: Assets that respect momentum/price divergences (equities, major FX pairs)
- **Timeframes with sufficient volatility**: RSI candles show meaningful patterns when price moves decisively
### **Reduced Effectiveness:**
- **Choppy, sideways markets**: RSI oscillates around 50 with no structural pattern, generating false BOS signals
- **Low-liquidity assets**: Erratic price action creates unreliable RSI swings
- **News-driven volatility spikes**: Sudden moves invalidate structure and create whipsaws
- **Extremely low timeframes (< 1 minute)**: Noise overwhelms signal, structure breaks lack follow-through
### **Optimal Market Conditions:**
- **Clear momentum phases** with defined RSI EMA trend
- **Respect for previous swing levels** in RSI space
- **Volume participation** during BOS events (combine with volume indicator)
- **Alignment between RSI structure and price structure**
---
## **Integration Guidelines**
### **Confluence Framework**
Combine RSI Candles Pro with:
1. **Volume analysis** (Institutional Zone Detector, volume profile) to confirm RSI BOS with volume participation
2. **Price structure** (Smart Money Concepts, order blocks) to align RSI momentum with price levels
3. **Trend indicators** (moving averages, Supertrend) for higher-timeframe directional bias
4. **Volatility indicators** (ATR, Bollinger Bands) for stop-loss and profit target placement
### **Directional Control**
- **Never trade against RSI EMA slope** unless high-conviction divergence present
- **Require BOS alignment** with RSI EMA direction for continuation trades
- **Wait for RSI EMA slope change** before taking counter-trend reversals
### **Risk Calibration**
- **Stop-loss placement**: Beyond recent RSI structure swing (converted to price)
- **Position sizing**: Larger positions for strong candles (large dots) at BOS events
- **Profit targets**: Next pivot line level or opposite-zone boundary (70/30)
- **Trail stops**: Use S/R lines as trailing stop levels after BOS
### **Multi-Timeframe Synergy**
1. **Check higher timeframe** (3x-5x current): RSI EMA slope and major structure
2. **Identify current timeframe**: BOS events and divergences
3. **Execute on lower timeframe** (1/3x-1/5x current): Strength-confirmed entries at pivot levels
4. **Align all timeframes**: Only trade when RSI structure agrees across timeframes
### **Alert Strategy**
Enable alerts for:
- **RSI BOS events**: Immediate notification of momentum structure breaks
- **Divergences**: Early warning of potential reversals
- **Extreme zone entries**: RSI crossing 70/30 levels
- **RSI EMA trend changes**: Shifts in momentum trend direction
---
## **Disclaimer**
The RSI Candles Pro indicator is a professional-grade momentum visualization and structural analysis tool. It is not predictive or guaranteed profitable; performance depends on parameter tuning, market regime, and disciplined execution.
**Key Considerations:**
- RSI is a **derivative indicator** (calculated from price), not a leading indicator—it confirms momentum but does not predict future price
- **Divergences can persist** for extended periods; early entries may require multiple attempts
- **BOS signals may fail** in choppy markets; always use stop-losses and risk management
- **Optimal parameters vary** by asset, timeframe, and volatility regime—backtesting recommended
- **No indicator works in isolation**; combine with price action, volume, and market context
**Best Practices:**
- Paper trade new configurations before risking capital
- Maintain a trading journal to identify which signals work best for your style
- Adjust cooloff periods and lookback lengths based on asset characteristics
- Use in conjunction with fundamental analysis and broader market context
- Never risk more than 1-2% of capital per trade, regardless of indicator signals
This indicator is designed to enhance decision-making, not replace it. Traders should integrate RSI Candles Pro into a comprehensive analytical framework that includes price structure, volume analysis, and risk management protocols. Success requires consistent application of tested strategies, emotional discipline, and continuous adaptation to changing market conditions.
Mars Signals - Ultimate Institutional Suite v3.0(Joker)Comprehensive Trading Manual
Mars Signals – Ultimate Institutional Suite v3.0 (Joker)
## Chapter 1 – Philosophy & System Architecture
This script is not a simple “buy/sell” indicator.
Mars Signals – UIS v3.0 (Joker) is designed as an institutional-style analytical assistant that layers several methodologies into a single, coherent framework.
The system is built on four core pillars:
1. Smart Money Concepts (SMC)
- Detection of Order Blocks (professional demand/supply zones).
- Detection of Fair Value Gaps (FVGs) (price imbalances).
2. Smart DCA Strategy
- Combination of RSI and Bollinger Bands
- Identifies statistically discounted zones for scaling into spot positions or exiting shorts.
3. Volume Profile (Visible Range Simulation)
- Distribution of volume by price, not by time.
- Identification of POC (Point of Control) and high-/low-volume areas.
4. Wyckoff Helper – Spring
- Detection of bear traps, liquidity grabs, and sharp bullish reversals.
All four pillars feed into a Confluence Engine (Scoring System).
The final output is presented in the Dashboard, with a clear, human-readable signal:
- STRONG LONG 🚀
- WEAK LONG ↗
- NEUTRAL / WAIT
- WEAK SHORT ↘
- STRONG SHORT 🩸
This allows the trader to see *how many* and *which* layers of the system support a bullish or bearish bias at any given time.
## Chapter 2 – Settings Overview
### 2.1 General & Dashboard Group
- Show Dashboard Panel (`show_dash`)
Turns the dashboard table in the corner of the chart ON/OFF.
- Show Signal Recommendation (`show_rec`)
- If enabled, the textual signal (STRONG LONG, WEAK SHORT, etc.) is displayed.
- If disabled, you only see feature status (ON/OFF) and the current price.
- Dashboard Position (`dash_pos`)
Determines where the dashboard appears on the chart:
- `Top Right`
- `Bottom Right`
- `Top Left`
### 2.2 Smart Money (SMC) Group
- Enable SMC Strategy (`show_smc`)
Globally enables or disables the Order Block and FVG logic.
- Order Block Pivot Lookback (`ob_period`)
Main parameter for detecting key pivot highs/lows (swing points).
- Default value: 5
- Concept:
A bar is considered a pivot low if its low is lower than the lows of the previous 5 and the next 5 bars.
Similarly, a pivot high has a high higher than the previous 5 and the next 5 bars.
These pivots are used as anchors for Order Blocks.
- Increasing `ob_period`:
- Fewer levels.
- But levels tend to be more significant and reliable.
- In highly volatile markets (major news, war events, FOMC, etc.),
using values 7–10 is recommended to filter out weak levels.
- Show Fair Value Gaps (`show_fvg`)
Enables/disables the drawing of FVG zones (imbalances).
- Bullish OB Color (`c_ob_bull`)
- Color of Bullish Order Blocks (Demand Zones).
- Default: semi-transparent green (transparency ≈ 80).
- Bearish OB Color (`c_ob_bear`)
- Color of Bearish Order Blocks (Supply Zones).
- Default: semi-transparent red.
- Bullish FVG Color (`c_fvg_bull`)
- Color of Bullish FVG (upward imbalance), typically yellow.
- Bearish FVG Color (`c_fvg_bear`)
- Color of Bearish FVG (downward imbalance), typically purple.
### 2.3 Smart DCA Strategy Group
- Enable DCA Zones (`show_dca`)
Enables the Smart DCA logic and visual labels.
- RSI Length (`rsi_len`)
Lookback period for RSI (default: 14).
- Shorter → more sensitive, more noise.
- Longer → fewer signals, higher reliability.
- Bollinger Bands Length (`bb_len`)
Moving average period for Bollinger Bands (default: 20).
- BB Multiplier (`bb_mult`)
Standard deviation multiplier for Bollinger Bands (default: 2.0).
- For extremely volatile markets, values like 2.5–3.0 can be used so that only extreme deviations trigger a DCA signal.
### 2.4 Volume Profile (Visible Range Sim) Group
- Show Volume Profile (`show_vp`)
Enables the simulated Volume Profile bars on the right side of the chart.
- Volume Lookback Bars (`vp_lookback`)
Number of bars used to compute the Volume Profile (default: 150).
- Higher values → broader historical context, heavier computation.
- Row Count (`vp_rows`)
Number of vertical price segments (rows) to divide the total price range into (default: 30).
- Width (%) (`vp_width`)
Relative width of each volume bar as a percentage.
In the code, bar widths are scaled relative to the row with the maximum volume.
> Technical note: Volume Profile calculations are executed only on the last bar (`barstate.islast`) to keep the script performant even on higher timeframes.
### 2.5 Wyckoff Helper Group
- Show Wyckoff Events (`show_wyc`)
Enables detection and plotting of Wyckoff Spring events.
- Volume MA Length (`vol_ma_len`)
Length of the moving average on volume.
A bar is considered to have Ultra Volume if its volume is more than 2× the volume MA.
## Chapter 3 – Smart Money Strategy (Order Blocks & FVG)
### 3.1 What Is an Order Block?
An Order Block (OB) represents the footprint of large institutional orders:
- Bullish Order Block (Demand Zone)
The last selling region (bearish candle/cluster) before a strong upward move.
- Bearish Order Block (Supply Zone)
The last buying region (bullish candle/cluster) before a strong downward move.
Institutions and large players place heavy orders in these regions. Typical price behavior:
- Price moves away from the zone.
- Later returns to the same zone to fill unfilled orders.
- Then continues the larger trend.
In the script:
- If `pl` (pivot low) forms → a Bullish OB is created.
- If `ph` (pivot high) forms → a Bearish OB is created.
The box is drawn:
- From `bar_index ` to `bar_index`.
- Between `low ` and `high `.
- `extend=extend.right` extends the OB into the future, so it acts as a dynamic support/resistance zone.
- Only the last 4 OB boxes are kept to avoid clutter.
### 3.2 Order Block Color Guide
- Semi-transparent Green (`c_ob_bull`)
- Represents a Bullish Order Block (Demand Zone).
- Interpretation: a price region with a high probability of bullish reaction.
- Semi-transparent Red (`c_ob_bear`)
- Represents a Bearish Order Block (Supply Zone).
- Interpretation: a price region with a high probability of bearish reaction.
Overlap (Multiple OBs in the Same Area)
When two or more Order Blocks overlap:
- The shared area appears visually denser/stronger.
- This suggests higher order density.
- Such zones can be treated as high-priority levels for entries, exits, and stop-loss placement.
### 3.3 Demand/Supply Logic in the Scoring Engine
is_in_demand = low <= ta.lowest(low, 20)
is_in_supply = high >= ta.highest(high, 20)
- If current price is near the lowest lows of the last 20 bars, it is considered in a Demand Zone → positive impact on score.
- If current price is near the highest highs of the last 20 bars, it is considered in a Supply Zone → negative impact on score.
This logic complements Order Blocks and helps the Dashboard distinguish whether:
- Market is currently in a statistically cheap (long-friendly) area, or
- In a statistically expensive (short-friendly) area.
### 3.4 Fair Value Gaps (FVG)
#### Concept
When the market moves aggressively:
- Some price levels are skipped and never traded.
- A gap between wicks/shadows of consecutive candles appears.
- These regions are called Fair Value Gaps (FVGs) or Imbalances.
The market generally “dislikes” imbalance and often:
- Returns to these zones in the future.
- Fills the gap (rebalance).
- Then resumes its dominant direction.
#### Implementation in the Code
Bullish FVG (Yellow)
fvg_bull_cond = show_smc and show_fvg and low > high and close > high
if fvg_bull_cond
box.new(bar_index , high , bar_index, low, ...)
Core condition:
`low > high ` → the current low is above the high of two bars ago; the space between them is an untraded gap.
Bearish FVG (Purple)
fvg_bear_cond = show_smc and show_fvg and high < low and close < low
if fvg_bear_cond
box.new(bar_index , low , bar_index, high, ...)
Core condition:
`high < low ` → the current high is below the low of two bars ago; again a price gap exists.
#### FVG Color Guide
- Transparent Yellow (`c_fvg_bull`) – Bullish FVG
Often acts like a magnet for price:
- Price tends to retrace into this zone,
- Fill the imbalance,
- And then continue higher.
- Transparent Purple (`c_fvg_bear`) – Bearish FVG
Price tends to:
- Retrace upward into the purple area,
- Fill the imbalance,
- And then resume downward movement.
#### Trading with FVGs
- FVGs are *not* standalone entry signals.
They are best used as:
- Targets (take-profit zones), or
- Reaction areas where you expect a pause or reversal.
Examples:
- If you are long, a bearish FVG above is often an excellent take-profit zone.
- If you are short, a bullish FVG below is often a good cover/exit zone.
### 3.5 Core SMC Trading Templates
#### Reversal Long
1. Price trades down into a green Order Block (Demand Zone).
2. A bullish confirmation candle (Close > Open) forms inside or just above the OB.
3. If this zone is close to or aligned with a bullish FVG (yellow), the signal is reinforced.
4. Entry:
- At the close of the confirmation candle, or
- Using a limit order near the upper boundary of the OB.
5. Stop-loss:
- Slightly below the OB.
- If the OB is broken decisively and price consolidates below it, the zone loses validity.
6. Targets:
- The next FVG,
- Or the next red Order Block (Supply Zone) above.
#### Reversal Short
The mirror scenario:
- Price rallies into a red Order Block (Supply).
- A bearish confirmation candle forms (Close < Open).
- FVG/premium structure above can act as a confluence.
- Stop-loss goes above the OB.
- Targets: lower FVGs or subsequent green OBs below.
## Chapter 4 – Smart DCA Strategy (RSI + Bollinger Bands)
### 4.1 Smart DCA Concept
- Classic DCA = buying at fixed time intervals regardless of price.
- Smart DCA = scaling in only when:
- Price is statistically cheaper than usual, and
- The market is in a clear oversold condition.
Code logic:
rsi_val = ta.rsi(close, rsi_len)
= ta.bb(close, bb_len, bb_mult)
dca_buy = show_dca and rsi_val < 30 and close < bb_lower
dca_sell = show_dca and rsi_val > 70 and close > bb_upper
Conditions:
- DCA Buy – Smart Scale-In Zone
- RSI < 30 → oversold.
- Close < lower Bollinger Band → price has broken below its typical volatility envelope.
- DCA Sell – Overbought/Distribution Zone
- RSI > 70 → overbought.
- Close > upper Bollinger Band → price is extended far above the mean.
### 4.2 Visual Representation on the Chart
- Green “DCA” Label Below Candle
- Shape: `labelup`.
- Color: lime background, white text.
- Meaning: statistically attractive level for laddered spot entries or short exits.
- Red “SELL” Label Above Candle
- Warning that the market is in an extended, overbought condition.
- Suitable for profit-taking on longs or considering short entries (with proper confluence and risk management).
- Light Green Background (`bgcolor`)
- When `dca_buy` is true, the candle background turns very light green (high transparency).
- This helps visually identify DCA Zones across the chart at a glance.
### 4.3 Practical Use in Trading
#### Spot Trading
Used to build a better average entry price:
- Every time a DCA label appears, allocate a fixed portion of capital (e.g., 2–5%).
- Combining DCA signals with:
- Green OBs (Demand Zones), and/or
- The Volume Profile POC
makes the zone structurally more important.
#### Futures Trading
- Longs
- Use DCA Buy signals as low-risk zones for opening or adding to longs when:
- Price is inside a green OB, or
- The Dashboard already leans LONG.
- Shorts
- Use DCA Sell signals as:
- Exit zones for longs, or
- Areas to initiate shorts with stops above structural highs.
## Chapter 5 – Volume Profile (Visible Range Simulation)
### 5.1 Concept
Traditional volume (histogram under the chart) shows volume over time.
Volume Profile shows volume by price level:
- At which prices has the highest trading activity occurred?
- Where did buyers and sellers agree the most (High Volume Nodes – HVNs)?
- Where did price move quickly due to low participation (Low Volume Nodes – LVNs)?
### 5.2 Implementation in the Script
Executed only when `show_vp` is enabled and on the last bar:
1. The last `vp_lookback` bars (default 150) are processed.
2. The minimum low and maximum high over this window define the price range.
3. This price range is divided into `vp_rows` segments (e.g., 30 rows).
4. For each row:
- All bars are scanned.
- If the mid-price `(high + low ) / 2` falls inside a row, that bar’s volume is added to the row total.
5. The row with the greatest volume is stored as `max_vol_idx` (the POC row).
6. For each row, a volume box is drawn on the right side of the chart.
### 5.3 Color Scheme
- Semi-transparent Orange
- The row with the maximum volume – the Point of Control (POC).
- Represents the strongest support/resistance level from a volume perspective.
- Semi-transparent Blue
- Other volume rows.
- The taller the bar → the higher the volume → the stronger the interest at that price band.
### 5.4 Trading Applications
- If price is above POC and retraces back into it:
→ POC often acts as support, suitable for long setups.
- If price is below POC and rallies into it:
→ POC often acts as resistance, suitable for short setups or profit-taking.
HVNs (Tall Blue Bars)
- Represent areas of equilibrium where the market has spent time and traded heavily.
- Price tends to consolidate here before choosing a direction.
LVNs (Short or Nearly Empty Bars)
- Represent low participation zones.
- Price often moves quickly through these areas – useful for targeting fast moves.
## Chapter 6 – Wyckoff Helper – Spring
### 6.1 Spring Concept
In the Wyckoff framework:
- A Spring is a false break of support.
- The market briefly trades below a well-defined support level, triggers stop losses,
then sharply reverses upward as institutional buyers absorb liquidity.
This movement:
- Clears out weak hands (retail sellers).
- Provides large players with liquidity to enter long positions.
- Often initiates a new uptrend.
### 6.2 Code Logic
Conditions for a Spring:
1. The current low is lower than the lowest low of the previous 50 bars
→ apparent break of a long-standing support.
2. The bar closes bullish (Close > Open)
→ the breakdown was rejected.
3. Volume is significantly elevated:
→ `volume > 2 × volume_MA` (Ultra Volume).
When all conditions are met and `show_wyc` is enabled:
- A pink diamond is plotted below the bar,
- With the label “Spring” – one of the strongest long signals in this system.
### 6.3 Trading Use
- After a valid Spring, markets frequently enter a meaningful bullish phase.
- The highest quality setups occur when:
- The Spring forms inside a green Order Block, and
- Near or on the Volume Profile POC.
Entries:
- At the close of the Spring bar, or
- On the first pullback into the mid-range of the Spring candle.
Stop-loss:
- Slightly below the Spring’s lowest point (wick low plus a small buffer).
## Chapter 7 – Confluence Engine & Dashboard
### 7.1 Scoring Logic
For each bar, the script:
1. Resets `score` to 0.
2. Adjusts the score based on different signals.
SMC Contribution
if show_smc
if is_in_demand
score += 1
if is_in_supply
score -= 1
- Being in Demand → `+1`
- Being in Supply → `-1`
DCA Contribution
if show_dca
if dca_buy
score += 2
if dca_sell
score -= 2
- DCA Buy → `+2` (strong, statistically driven long signal)
- DCA Sell → `-2`
Wyckoff Spring Contribution
if show_wyc
if wyc_spring
score += 2
- Spring → `+2` (entry of strong money)
### 7.2 Mapping Score to Dashboard Signal
- score ≥ 2 → STRONG LONG 🚀
Multiple bullish conditions aligned.
- score = 1 → WEAK LONG ↗
Some bullish bias, but only one layer clearly positive.
- score = 0 → NEUTRAL / WAIT
Rough balance between buying and selling forces; staying flat is usually preferable.
- score = -1 → WEAK SHORT ↘
Mild bearish bias, suited for cautious or short-term plays.
- score ≤ -2 → STRONG SHORT 🩸
Convergence of several bearish signals.
### 7.3 Dashboard Structure
The dashboard is a two-column table:
- Row 0
- Column 0: `"Mars Signals"` – black background, white text.
- Column 1: `"UIS v3.0"` – black background, yellow text.
- Row 1
- Column 0: `"Price:"` (light grey background).
- Column 1: current closing price (`close`) with a semi-transparent blue background.
- Row 2
- Column 0: `"SMC:"`
- Column 1:
- `"ON"` (green) if `show_smc = true`
- `"OFF"` (grey) otherwise.
- Row 3
- Column 0: `"DCA:"`
- Column 1:
- `"ON"` (green) if `show_dca = true`
- `"OFF"` (grey) otherwise.
- Row 4
- Column 0: `"Signal:"`
- Column 1: signal text (`status_txt`) with background color `status_col`
(green, red, teal, maroon, etc.)
- If `show_rec = false`, these cells are cleared.
## Chapter 8 – Visual Legend (Colors, Shapes & Actions)
For quick reading inside TradingView, the visual elements are described line by line instead of a table.
Chart Element: Green Box
Color / Shape: Transparent green rectangle
Core Meaning: Bullish Order Block (Demand Zone)
Suggested Trader Response: Look for longs, Smart DCA adds, closing or reducing shorts.
Chart Element: Red Box
Color / Shape: Transparent red rectangle
Core Meaning: Bearish Order Block (Supply Zone)
Suggested Trader Response: Look for shorts, or take profit on existing longs.
Chart Element: Yellow Area
Color / Shape: Transparent yellow zone
Core Meaning: Bullish FVG / upside imbalance
Suggested Trader Response: Short take-profit zone or expected rebalance area.
Chart Element: Purple Area
Color / Shape: Transparent purple zone
Core Meaning: Bearish FVG / downside imbalance
Suggested Trader Response: Long take-profit zone or temporary supply region.
Chart Element: Green "DCA" Label
Color / Shape: Green label with white text, plotted below the candle
Core Meaning: Smart ladder-in buy zone, DCA buy opportunity
Suggested Trader Response: Spot DCA entry, partial short exit.
Chart Element: Red "SELL" Label
Color / Shape: Red label with white text, plotted above the candle
Core Meaning: Overbought / distribution zone
Suggested Trader Response: Take profit on longs, consider initiating shorts.
Chart Element: Light Green Background (bgcolor)
Color / Shape: Very transparent light-green background behind bars
Core Meaning: Active DCA Buy zone
Suggested Trader Response: Treat as a discount zone on the chart.
Chart Element: Orange Bar on Right
Color / Shape: Transparent orange horizontal bar in the volume profile
Core Meaning: POC – price with highest traded volume
Suggested Trader Response: Strong support or resistance; key reference level.
Chart Element: Blue Bars on Right
Color / Shape: Transparent blue horizontal bars in the volume profile
Core Meaning: Other volume levels, showing high-volume and low-volume nodes
Suggested Trader Response: Use to identify balance zones (HVN) and fast-move corridors (LVN).
Chart Element: Pink "Spring" Diamond
Color / Shape: Pink diamond with white text below the candle
Core Meaning: Wyckoff Spring – liquidity grab and potential major bullish reversal
Suggested Trader Response: One of the strongest long signals in the suite; look for high-quality long setups with tight risk.
Chart Element: STRONG LONG in Dashboard
Color / Shape: Green background, white text in the Signal row
Core Meaning: Multiple bullish layers in confluence
Suggested Trader Response: Consider initiating or increasing longs with strict risk management.
Chart Element: STRONG SHORT in Dashboard
Color / Shape: Red background, white text in the Signal row
Core Meaning: Multiple bearish layers in confluence
Suggested Trader Response: Consider initiating or increasing shorts with a logical, well-placed stop.
## Chapter 9 – Timeframe-Based Trading Playbook
### 9.1 Timeframe Selection
- Scalping
- Timeframes: 1M, 5M, 15M
- Objective: fast intraday moves (minutes to a few hours).
- Recommendation: focus on SMC + Wyckoff.
Smart DCA on very low timeframes may introduce excessive noise.
- Day Trading
- Timeframes: 15M, 1H, 4H
- Provides a good balance between signal quality and frequency.
- Recommendation: use the full stack – SMC + DCA + Volume Profile + Wyckoff + Dashboard.
- Swing Trading & Position Investing
- Timeframes: Daily, Weekly
- Emphasis on Smart DCA + Volume Profile.
- SMC and Wyckoff are used mainly to fine-tune swing entries within larger trends.
### 9.2 Scenario A – Scalping Long
Example: 5-Minute Chart
1. Price is declining into a green OB (Bullish Demand).
2. A candle with a long lower wick and bullish close (Pin Bar / Rejection) forms inside the OB.
3. A Spring diamond appears below the same candle → very strong confluence.
4. The Dashboard shows at least WEAK LONG ↗, ideally STRONG LONG 🚀.
5. Entry:
- On the close of the confirmation candle, or
- On the first pullback into the mid-range of that candle.
6. Stop-loss:
- Slightly below the OB.
7. Targets:
- Nearby bearish FVG above, and/or
- The next red OB.
### 9.3 Scenario B – Day-Trading Short
Recommended Timeframes: 1H or 4H
1. The market completes a strong impulsive move upward.
2. Price enters a red Order Block (Supply).
3. In the same zone, a purple FVG appears or remains unfilled.
4. On a lower timeframe (e.g., 15M), RSI enters overbought territory and a DCA Sell signal appears.
5. The main timeframe Dashboard (1H) shows WEAK SHORT ↘ or STRONG SHORT 🩸.
Trade Plan
- Open a short near the upper boundary of the red OB.
- Place the stop above the OB or above the last swing high.
- Targets:
- A yellow FVG lower on the chart, and/or
- The next green OB (Demand) below.
### 9.4 Scenario C – Swing / Investment with Smart DCA
Timeframes: Daily / Weekly
1. On the daily or weekly chart, each time a green “DCA” label appears:
- Allocate a fixed fraction of your capital (e.g., 3–5%) to that asset.
2. Check whether this DCA zone aligns with the orange POC of the Volume Profile:
- If yes → the quality of the entry zone is significantly higher.
3. If the DCA signal sits inside a daily green OB, the probability of a medium-term bottom increases.
4. Always build the position laddered, never all-in at a single price.
Exits for investors:
- Near weekly red OBs or large purple FVG zones.
- Ideally via partial profit-taking rather than closing 100% at once.
### 9.5 Case Study 1 – BTCUSDT (15-Minute)
- Context: Price has sold off down towards 65,000 USD.
- A green OB had previously formed at that level.
- Near the lower boundary of this OB, a partially filled yellow FVG is present.
- As price returns to this region, a Spring appears.
- The Dashboard shifts from NEUTRAL / WAIT to WEAK LONG ↗.
Plan
- Enter a long near the OB low.
- Place stop below the Spring low.
- First target: a purple FVG around 66,200.
- Second (optional) target: the first red OB above that level.
### 9.6 Case Study 2 – Meme Coin (PEPE – 4H)
- After a strong pump, price enters a corrective phase.
- On the 4H chart, RSI drops below 30; price breaks below the lower Bollinger Band → a DCA label prints.
- The Volume Profile shows the POC at approximately the same level.
- The Dashboard displays STRONG LONG 🚀.
Plan
- Execute laddered buys in the combined DCA + POC zone.
- Place a protective stop below the last significant swing low.
- Target: an expected 20–30% upside move towards the next red OB or purple FVG.
## Chapter 10 – Risk Management, Psychology & Advanced Tuning
### 10.1 Risk Management
No signal, regardless of its strength, replaces risk control.
Recommendations:
- In futures, do not expose more than 1–3% of account equity to risk per trade.
- Adjust leverage to the volatility of the instrument (lower leverage for highly volatile altcoins).
- Place stop-losses in zones where the idea is clearly invalidated:
- Below/above the relevant Order Block or Spring, not randomly in the middle of the structure.
### 10.2 Market-Specific Parameter Tuning
- Calmer Markets (e.g., major FX pairs)
- `ob_period`: 3–5.
- `bb_mult`: 2.0 is usually sufficient.
- Highly Volatile Markets (Crypto, news-driven assets)
- `ob_period`: 7–10 to highlight only the most robust OBs.
- `bb_mult`: 2.5–3.0 so that only extreme deviations trigger DCA.
- `vol_ma_len`: increase (e.g., to ~30) so that Spring triggers only on truly exceptional
volume spikes.
### 10.3 Trading Psychology
- STRONG LONG 🚀 does not mean “risk-free”.
It means the probability of a successful long, given the model’s logic, is higher than average.
- Treat Mars Signals as a confirmation and context system, not a full replacement for your own decision-making.
- Example of disciplined thinking:
- The Dashboard prints STRONG LONG,
- But price is simultaneously testing a multi-month macro resistance or a major negative news event is imminent,
- In such cases, trade smaller, widen stops appropriately, or skip the trade.
## Chapter 11 – Technical Notes & FAQ
### 11.1 Does the Script Repaint?
- Order Blocks and Springs are based on completed pivot structures and confirmed candles.
- Until a pivot is confirmed, an OB does not exist; after confirmation, behavior is stable under classic SMC assumptions.
- The script is designed to be structurally consistent rather than repainting signals arbitrarily.
### 11.2 Computational Load of Volume Profile
- On the last bar, the script processes up to `vp_lookback` bars × `vp_rows` rows.
- On very low timeframes with heavy zooming, this can become demanding.
- If you experience performance issues:
- Reduce `vp_lookback` or `vp_rows`, or
- Temporarily disable Volume Profile (`show_vp = false`).
### 11.3 Multi-Timeframe Behavior
- This version of the script is not internally multi-timeframe.
All logic (OB, DCA, Spring, Volume Profile) is computed on the active timeframe only.
- Practical workflow:
- Analyze overall structure and key zones on higher timeframes (4H / Daily).
- Use lower timeframes (15M / 1H) with the same tool for timing entries and exits.
## Conclusion
Mars Signals – Ultimate Institutional Suite v3.0 (Joker) is a multi-layer trading framework that unifies:
- Price structure (Order Blocks & FVG),
- Statistical behavior (Smart DCA via RSI + Bollinger),
- Volume distribution by price (Volume Profile with POC, HVN, LVN),
- Liquidity events (Wyckoff Spring),
into a single, coherent system driven by a transparent Confluence Scoring Engine.
The final output is presented in clear, actionable language:
> STRONG LONG / WEAK LONG / NEUTRAL / WEAK SHORT / STRONG SHORT
The system is designed to support professional decision-making, not to replace it.
Used together with strict risk management and disciplined execution,
Mars Signals – UIS v3.0 (Joker) can serve as a central reference manual and operational guide
for your trading workflow, from scalping to swing and investment positioning.
Trade PullBack - EMA Pullback System with Auto Risk-Reward# Trade Pull Back - Professional Pullback Trading System
## 📊 Overview
**Trade Pull Back** is a comprehensive pullback trading system that combines trend-following principles with precise entry timing using candlestick pattern confirmation. This indicator is designed for traders who want to enter trending markets at optimal retracement levels with pre-calculated risk-reward ratios.
---
## 🎯 Core Methodology
### Why This System Works
Most traders struggle with two key challenges:
1. **Entering too early** - jumping into trades before the pullback completes
2. **Entering too late** - missing the momentum after the pullback reverses
This system solves both problems by using a **3-Phase Confirmation Process**:
**Phase 1: Trend Identification** → **Phase 2: Pullback Detection** → **Phase 3: Reversal Confirmation**
---
## 🔧 How It Works
### 1. Triple EMA Framework (The Foundation)
Unlike traditional single EMA systems, this indicator uses **3 separate EMAs** with different purposes:
- **EMA Trend (default: 50)** - Determines the overall market direction
- Source: HL/2 for balanced trend reading
- Acts as the primary filter - we only trade in its direction
- **EMA High (default: 20)** - Dynamic resistance in uptrends
- Source: High prices for accurate resistance mapping
- Entry trigger for bullish setups when price closes above it
- **EMA Low (default: 20)** - Dynamic support in downtrends
- Source: Low prices for accurate support mapping
- Entry trigger for bearish setups when price closes below it
**Why 3 EMAs?**
- Single EMA can't distinguish between trend and pullback zones
- Two EMAs (like MACD) don't provide clear entry/exit levels
- Three EMAs create a **channel system** that identifies both trend direction AND optimal entry zones
### 2. Pattern Recognition Engine
The system detects two high-probability reversal patterns:
#### Engulfing Patterns
- **Bullish Engulfing**: Previous bearish candle completely engulfed by bullish candle
- **Bearish Engulfing**: Previous bullish candle completely engulfed by bearish candle
- Validates: Strong momentum reversal with volume confirmation
#### Pin Bar Patterns
- **Bullish Pin Bar (Hammer)**: Long lower wick (60%+ of total range) rejecting lower prices
- **Bearish Pin Bar (Inverted Hammer)**: Long upper wick (60%+ of total range) rejecting higher prices
- Validates: Institutional rejection at support/resistance levels
**Pattern Quality Filter:**
- Body-to-wick ratio must meet minimum standards
- Checks previous candle momentum
- Requires trend alignment before signaling
### 3. Pullback Confirmation System
The system includes **5 mandatory conditions** before generating a signal:
#### For Bullish Signals (BUY):
1. ✅ Close > EMA Trend (uptrend confirmed)
2. ✅ EMA High > EMA Trend AND EMA Low > EMA Trend (healthy trend structure)
3. ✅ Bullish Engulfing OR Bullish Pin Bar (pattern detected)
4. ✅ Close > EMA High (breakout confirmation)
5. ✅ Optional: Low < EMA High (pullback occurred)
#### For Bearish Signals (SELL):
1. ✅ Close < EMA Trend (downtrend confirmed)
2. ✅ EMA High < EMA Trend AND EMA Low < EMA Trend (healthy trend structure)
3. ✅ Bearish Engulfing OR Bearish Pin Bar (pattern detected)
4. ✅ Close < EMA Low (breakdown confirmation)
5. ✅ Optional: High > EMA Low (pullback occurred)
**Additional Filters:**
- **Consecutive Bars Check**: Ensures pullback had momentum (1-5 bearish/bullish bars)
- **Signal Spacing**: Minimum 4 bars between signals to avoid noise
- **Confirmation Delay**: Signal appears only AFTER bar closes (no repainting)
---
## 💰 Automatic Risk-Reward Calculator
### Smart Position Sizing
When a signal triggers, the system automatically calculates:
**For Long Positions:**
- **Entry**: High of signal candle
- **Stop Loss**: Lower of last 2 candle lows (protects against false breakouts)
- **Target 1 (1R)**: Entry + 1x Risk
- **Target 2 (2R)**: Entry + 2x Risk
- **Target 3 (3R)**: Entry + 3x Risk
**For Short Positions:**
- **Entry**: Low of signal candle
- **Stop Loss**: Higher of last 2 candle highs
- **Targets**: Calculated based on risk multiple
### Auto-Remove Feature
Lines and labels automatically disappear when:
- Price hits Stop Loss (trade invalidated)
- Price reaches 3R target (trade complete)
This keeps your chart clean and focuses only on active trades.
---
## 📈 Multi-Timeframe Trend Analysis
### Confluence Trading
The built-in MTF trend box shows trend status across 7 timeframes simultaneously:
- M1, M5, M15, M30, H1, H4, D1
**Color Coding:**
- 🟢 **Green**: Uptrend (Price > EMA Trend AND EMAs aligned bullish)
- 🔴 **Red**: Downtrend (Price < EMA Trend AND EMAs aligned bearish)
- ⚪ **Gray**: No clear trend
**Why This Matters:**
- Trade with higher timeframe trends for better win rate
- Avoid counter-trend trades when all timeframes show same direction
- Identify divergences between timeframes for reversal opportunities
---
## 🎨 Customization Options
### EMA Settings
- Adjust periods for different trading styles (scalping vs swing trading)
- Choose price sources (HL/2, Close, HLC/3) for sensitivity tuning
### Pattern Selection
- Enable/disable Engulfing patterns
- Enable/disable Pin Bar patterns
- Trade only your preferred pattern type
### Signal Filters
- **Require Pullback**: Force pullback condition (stricter entries)
- **Consecutive Bars**: Set momentum requirement (1-5 bars)
### Display Options
- Show/hide EMA lines
- Show/hide signals
- Enable/disable alerts
- Customize Risk-Reward line styles and extensions
---
## 📋 How to Use This Indicator
### Step 1: Identify the Trend
- Wait for price to establish clear direction relative to EMA Trend (50)
- Check MTF box to confirm higher timeframe alignment
### Step 2: Wait for Pullback
- In uptrend: Watch for price to pull back toward EMA High
- In downtrend: Watch for price to pull back toward EMA Low
### Step 3: Pattern Confirmation
- Look for Engulfing or Pin Bar pattern (triangle/diamond markers)
- Ensure pattern forms at or near the EMA High/Low zone
### Step 4: Entry & Risk Management
- Enter when signal appears (after bar closes)
- Use displayed Stop Loss and Take Profit levels
- Consider partial profits at 1R and 2R, let remainder run to 3R
### Step 5: Trade Management
- If price hits SL, lines disappear automatically (trade invalidated)
- If price reaches 3R, lines disappear (trade complete)
- Consider trailing stop after 1R is reached
---
## ⚙️ Recommended Settings
### For Scalping (M1-M5)
- EMA Trend: 20-30
- EMA High/Low: 10-15
- Require Pullback: OFF
- Consecutive Bars: 1
### For Day Trading (M15-H1)
- EMA Trend: 50 (default)
- EMA High/Low: 20 (default)
- Require Pullback: ON
- Consecutive Bars: 2-3
### For Swing Trading (H4-D1)
- EMA Trend: 100-200
- EMA High/Low: 50
- Require Pullback: ON
- Consecutive Bars: 3-5
---
## ✅ What Makes This Script Original
### 1. Systematic Approach
This isn't just a collection of indicators. It's a **complete trading system** with:
- Defined entry rules (5-point confirmation checklist)
- Automatic risk management (SL/TP calculation)
- Trade validation (consecutive bars, signal spacing)
### 2. Smart EMA Framework
The 3-EMA system creates a **dynamic channel** that adapts to market conditions:
- Trend EMA = Direction filter
- High/Low EMAs = Entry/Exit zones
- Together they form a "trade zone" that standard EMAs can't provide
### 3. Pattern Quality Control
Not all Engulfing or Pin Bar patterns are equal. This system:
- Validates body-to-wick ratios
- Checks previous candle momentum
- Requires trend alignment before signaling
### 4. Auto Risk-Reward Management
Most indicators just show signals. This one:
- Calculates exact entry prices
- Places stop loss at optimal location (lower of 2 lows)
- Projects 3 profit targets based on risk
- Auto-removes when trade is complete/invalidated
### 5. No Repainting
- All signals appear AFTER bar closes
- No future data leaking
- What you see in backtest = what you get in real-time
---
## 🚨 Alerts
Built-in alerts notify you when:
- Bullish signal confirmed
- Bearish signal confirmed
Alerts fire once per bar (no spam) and only after bar closes (no false alerts).
---
## 📊 Best Practices
### ✅ DO:
- Trade in direction of higher timeframe trends
- Wait for full confirmation (all 5 conditions met)
- Use proper position sizing (1-2% risk per trade)
- Let winners run to at least 2R
### ❌ DON'T:
- Trade against major trend on MTF box
- Enter before signal bar closes
- Ignore the Stop Loss level
- Overtrade - respect the 4-bar minimum spacing
---
## 🔍 Limitations
This indicator is a **tool**, not a crystal ball:
- No indicator wins 100% of the time
- False signals occur in choppy/ranging markets
- Best results in trending conditions
- Requires proper risk management
- Should be combined with fundamental analysis and market context
---
## 📚 Educational Value
This script teaches:
- How to combine trend following with mean reversion
- Pattern recognition and validation
- Risk-reward ratio calculation
- Multi-timeframe analysis
- Proper trade entry timing
---
## 🎓 Credits & Disclaimer
**Original Work**: All code written from scratch
**Methodology**: Based on classical technical analysis principles (EMA crossovers, candlestick patterns, support/resistance)
**Disclaimer**: This indicator is for educational purposes. Past performance does not guarantee future results. Always practice proper risk management.
---
## 📞 Support
If you find this indicator helpful:
- Leave a review
- Share with fellow traders
- Provide feedback for improvements
**Note**: This is a closed-source script to protect the proprietary signal logic and filtering algorithms. The description above provides comprehensive understanding of the methodology without revealing exact implementation details.
---
**Version**: 1.0
**Pine Script Version**: 5
**Type**: Indicator (Overlay)
**Category**: Trend Following + Pattern Recognition
---
*Happy Trading! 🚀*
# 🇹🇭 คู่มือภาษาไทย / Thai Guide
# Trade Pull Back - คู่มือภาษาไทย
## 📊 ภาพรวม
**Trade Pull Back** เป็นระบบเทรด Pullback ที่ผสมผสานการเทรดตามเทรนด์กับการจับจังหวะเข้าออเดอร์ด้วย Candlestick Pattern พร้อมคำนวณ Risk-Reward อัตโนมัติ
---
## 🎯 หลักการทำงาน
### ทำไมระบบนี้ได้ผล?
แก้ปัญหา 2 ข้อหลักของเทรดเดอร์:
1. **เข้าเร็วเกินไป** - เข้าก่อน Pullback เสร็จ
2. **เข้าช้าเกินไป** - พลาดโมเมนตัมหลังกลับตัว
**วิธีแก้**: ใช้กระบวนการยืนยัน 3 ขั้นตอน
- **ขั้น 1**: ระบุเทรนด์ → **ขั้น 2**: ตรวจจับ Pullback → **ขั้น 3**: ยืนยันการกลับตัว
---
## 🔧 ส่วนประกอบหลัก
### 1. ระบบ EMA 3 เส้น
ต่างจาก EMA ทั่วไป ระบบนี้ใช้ 3 เส้นที่มีหน้าที่แยกกัน:
- **EMA Trend (50)** - กำหนดทิศทางเทรนด์หลัก
- **EMA High (20)** - แนวต้านไดนามิก (สำหรับ Buy)
- **EMA Low (20)** - แนวรับไดนามิก (สำหรับ Sell)
**ทำไมต้อง 3 เส้น?**
- 1 เส้น = แยกเทรนด์กับ Pullback ไม่ได้
- 2 เส้น = ไม่มีจุด Entry/Exit ชัดเจน
- 3 เส้น = สร้าง Channel ที่บอกทั้งเทรนด์และโซนเข้าออเดอร์
### 2. ตรวจจับ Pattern
ระบบตรวจจับ 2 Pattern หลัก:
**Engulfing (แท่งกลืน)**
- Bullish: แท่งเขียวกลืนแท่งแดงทั้งหมด
- Bearish: แท่งแดงกลืนแท่งเขียวทั้งหมด
**Pin Bar (แท่งหาง)**
- Bullish: หางล่างยาว 60%+ ของช่วงทั้งหมด
- Bearish: หางบนยาว 60%+ ของช่วงทั้งหมด
### 3. เงื่อนไขยืนยันสัญญาณ (5 ข้อ)
**สัญญาณ Buy:**
1. ✅ ราคาปิด > EMA Trend (เทรนด์ขาขึ้น)
2. ✅ EMA High และ Low เหนือ EMA Trend (โครงสร้างดี)
3. ✅ เกิด Bullish Engulfing หรือ Pin Bar
4. ✅ ราคาปิด > EMA High (ยืนยัน Breakout)
5. ✅ ตัวเลือก: มี Pullback มาแตะ EMA High
**สัญญาณ Sell:**
1. ✅ ราคาปิด < EMA Trend (เทรนด์ขาลง)
2. ✅ EMA High และ Low ใต้ EMA Trend (โครงสร้างดี)
3. ✅ เกิด Bearish Engulfing หรือ Pin Bar
4. ✅ ราคาปิด < EMA Low (ยืนยัน Breakdown)
5. ✅ ตัวเลือก: มี Pullback มาแตะ EMA Low
**ตัวกรองเพิ่มเติม:**
- ต้องมีแท่งติดกัน 1-5 แท่ง (กำหนดได้)
- ห่างสัญญาณก่อนหน้าอย่างน้อย 4 แท่ง
- สัญญาณปรากฏหลังแท่งปิดเท่านั้น (ไม่ Repaint)
---
## 💰 คำนวณ Risk-Reward อัตโนมัติ
เมื่อสัญญาณเกิด ระบบคำนวณให้อัตโนมัติ:
**Long Position:**
- Entry = High ของแท่งสัญญาณ
- Stop Loss = Low ที่ต่ำกว่าของ 2 แท่งล่าสุด
- Target = 1R, 2R, 3R
**Short Position:**
- Entry = Low ของแท่งสัญญาณ
- Stop Loss = High ที่สูงกว่าของ 2 แท่งล่าสุด
- Target = 1R, 2R, 3R
**ลบอัตโนมัติ:** เส้นหายเมื่อราคาชน SL หรือถึง 3R
---
## 📈 กล่องเทรนด์หลาย Timeframe
แสดงเทรนด์พร้อมกัน 7 Timeframe:
- M1, M5, M15, M30, H1, H4, D1
**สีแสดงผล:**
- 🟢 เขียว = Uptrend
- 🔴 แดง = Downtrend
- ⚪ เทา = ไม่มีเทรนด์
**ประโยชน์:** เทรดตาม Timeframe ใหญ่เพื่อเพิ่ม Win Rate
---
## 📋 วิธีใช้งาน (5 ขั้นตอน)
1. **ระบุเทรนด์** - เช็คราคาเทียบกับ EMA Trend และกล่อง MTF
2. **รอ Pullback** - เฝ้าราคา Pullback มาที่ EMA High/Low
3. **เช็ค Pattern** - มองหาลูกศรสามเหลี่ยม (Engulfing) หรือเพชร (Pin Bar)
4. **เข้าออเดอร์** - เข้าเมื่อสัญญาณปรากฏ ใช้ SL/TP ที่แสดง
5. **จัดการเทรด** - เส้นจะหายเองเมื่อชน SL หรือถึง 3R
---
## ⚙️ การตั้งค่าแนะนำ
**Scalping (M1-M5)**
- EMA Trend: 20-30
- EMA High/Low: 10-15
- Require Pullback: ปิด
**Day Trading (M15-H1)**
- EMA Trend: 50 (ค่าเริ่มต้น)
- EMA High/Low: 20 (ค่าเริ่มต้น)
- Require Pullback: เปิด
**Swing Trading (H4-D1)**
- EMA Trend: 100-200
- EMA High/Low: 50
- Require Pullback: เปิด
---
## ✅ จุดเด่นที่แตกต่าง
1. **เป็นระบบสมบูรณ์** - ไม่ใช่แค่รวม Indicator
2. **EMA 3 เส้นสร้าง Channel** - บอกทั้งเทรนด์และโซนเข้า
3. **ตรวจสอบคุณภาพ Pattern** - ไม่ใช่ทุก Pattern ที่ให้สัญญาณ
4. **คำนวณ RR อัตโนมัติ** - วาง SL/TP ให้เลย
5. **ไม่ Repaint** - สัญญาณปรากฏหลังแท่งปิดเท่านั้น
---
## 📊 ควรทำ / ไม่ควรทำ
### ✅ ควรทำ:
- เทรดตามเทรนด์ Timeframe ใหญ่
- รอยืนยันครบ 5 เงื่อนไข
- เสี่ยง 1-2% ต่อเทรด
- ปล่อยกำไรไปอย่างน้อย 2R
### ❌ ไม่ควรทำ:
- เทรดทวนเทรนด์ในกล่อง MTF
- เข้าก่อนแท่งปิด
- ละเลย Stop Loss
- เทรดบ่อยเกินไป
---
## 🔍 ข้อจำกัด
- ไม่มี Indicator ไหนชนะ 100%
- สัญญาณผิดพลาดเกิดในตลาด Sideways
- ผลดีสุดในตลาดที่มีเทรนด์ชัด
- ต้องใช้ Money Management
- ควรดูปัจจัยพื้นฐานประกอบ
---
## 🎓 คำเตือน
**Disclaimer**: อินดิเคเตอร์นี้สำหรับการศึกษา ผลในอดีตไม่รับประกันอนาคต ใช้ Risk Management ที่เหมาะสมเสมอ
---
**เวอร์ชั่น**: 1.0
**Pine Script**: v5
**ประเภท**: Indicator (Overlay)
*Happy Trading! 🚀*
## Screenshots
**Bearish Signals with Risk-Reward:**
! (drive.google.com)
**Bullish Signal with Risk-Reward:**
! (drive.google.com)
**Multi-Timeframe Trend Box:**
! (drive.google.com)
**Settings Panel:**
! (drive.google.com)
ATAI Volume analysis with price action V 1.00ATAI Volume Analysis with Price Action
1. Introduction
1.1 Overview
ATAI Volume Analysis with Price Action is a composite indicator designed for TradingView. It combines per‑side volume data —that is, how much buying and selling occurs during each bar—with standard price‑structure elements such as swings, trend lines and support/resistance. By blending these elements the script aims to help a trader understand which side is in control, whether a breakout is genuine, when markets are potentially exhausted and where liquidity providers might be active.
The indicator is built around TradingView’s up/down volume feed accessed via the TradingView/ta/10 library. The following excerpt from the script illustrates how this feed is configured:
import TradingView/ta/10 as tvta
// Determine lower timeframe string based on user choice and chart resolution
string lower_tf_breakout = use_custom_tf_input ? custom_tf_input :
timeframe.isseconds ? "1S" :
timeframe.isintraday ? "1" :
timeframe.isdaily ? "5" : "60"
// Request up/down volume (both positive)
= tvta.requestUpAndDownVolume(lower_tf_breakout)
Lower‑timeframe selection. If you do not specify a custom lower timeframe, the script chooses a default based on your chart resolution: 1 second for second charts, 1 minute for intraday charts, 5 minutes for daily charts and 60 minutes for anything longer. Smaller intervals provide a more precise view of buyer and seller flow but cover fewer bars. Larger intervals cover more history at the cost of granularity.
Tick vs. time bars. Many trading platforms offer a tick / intrabar calculation mode that updates an indicator on every trade rather than only on bar close. Turning on one‑tick calculation will give the most accurate split between buy and sell volume on the current bar, but it typically reduces the amount of historical data available. For the highest fidelity in live trading you can enable this mode; for studying longer histories you might prefer to disable it. When volume data is completely unavailable (some instruments and crypto pairs), all modules that rely on it will remain silent and only the price‑structure backbone will operate.
Figure caption, Each panel shows the indicator’s info table for a different volume sampling interval. In the left chart, the parentheses “(5)” beside the buy‑volume figure denote that the script is aggregating volume over five‑minute bars; the center chart uses “(1)” for one‑minute bars; and the right chart uses “(1T)” for a one‑tick interval. These notations tell you which lower timeframe is driving the volume calculations. Shorter intervals such as 1 minute or 1 tick provide finer detail on buyer and seller flow, but they cover fewer bars; longer intervals like five‑minute bars smooth the data and give more history.
Figure caption, The values in parentheses inside the info table come directly from the Breakout — Settings. The first row shows the custom lower-timeframe used for volume calculations (e.g., “(1)”, “(5)”, or “(1T)”)
2. Price‑Structure Backbone
Even without volume, the indicator draws structural features that underpin all other modules. These features are always on and serve as the reference levels for subsequent calculations.
2.1 What it draws
• Pivots: Swing highs and lows are detected using the pivot_left_input and pivot_right_input settings. A pivot high is identified when the high recorded pivot_right_input bars ago exceeds the highs of the preceding pivot_left_input bars and is also higher than (or equal to) the highs of the subsequent pivot_right_input bars; pivot lows follow the inverse logic. The indicator retains only a fixed number of such pivot points per side, as defined by point_count_input, discarding the oldest ones when the limit is exceeded.
• Trend lines: For each side, the indicator connects the earliest stored pivot and the most recent pivot (oldest high to newest high, and oldest low to newest low). When a new pivot is added or an old one drops out of the lookback window, the line’s endpoints—and therefore its slope—are recalculated accordingly.
• Horizontal support/resistance: The highest high and lowest low within the lookback window defined by length_input are plotted as horizontal dashed lines. These serve as short‑term support and resistance levels.
• Ranked labels: If showPivotLabels is enabled the indicator prints labels such as “HH1”, “HH2”, “LL1” and “LL2” near each pivot. The ranking is determined by comparing the price of each stored pivot: HH1 is the highest high, HH2 is the second highest, and so on; LL1 is the lowest low, LL2 is the second lowest. In the case of equal prices the newer pivot gets the better rank. Labels are offset from price using ½ × ATR × label_atr_multiplier, with the ATR length defined by label_atr_len_input. A dotted connector links each label to the candle’s wick.
2.2 Key settings
• length_input: Window length for finding the highest and lowest values and for determining trend line endpoints. A larger value considers more history and will generate longer trend lines and S/R levels.
• pivot_left_input, pivot_right_input: Strictness of swing confirmation. Higher values require more bars on either side to form a pivot; lower values create more pivots but may include minor swings.
• point_count_input: How many pivots are kept in memory on each side. When new pivots exceed this number the oldest ones are discarded.
• label_atr_len_input and label_atr_multiplier: Determine how far pivot labels are offset from the bar using ATR. Increasing the multiplier moves labels further away from price.
• Styling inputs for trend lines, horizontal lines and labels (color, width and line style).
Figure caption, The chart illustrates how the indicator’s price‑structure backbone operates. In this daily example, the script scans for bars where the high (or low) pivot_right_input bars back is higher (or lower) than the preceding pivot_left_input bars and higher or lower than the subsequent pivot_right_input bars; only those bars are marked as pivots.
These pivot points are stored and ranked: the highest high is labelled “HH1”, the second‑highest “HH2”, and so on, while lows are marked “LL1”, “LL2”, etc. Each label is offset from the price by half of an ATR‑based distance to keep the chart clear, and a dotted connector links the label to the actual candle.
The red diagonal line connects the earliest and latest stored high pivots, and the green line does the same for low pivots; when a new pivot is added or an old one drops out of the lookback window, the end‑points and slopes adjust accordingly. Dashed horizontal lines mark the highest high and lowest low within the current lookback window, providing visual support and resistance levels. Together, these elements form the structural backbone that other modules reference, even when volume data is unavailable.
3. Breakout Module
3.1 Concept
This module confirms that a price break beyond a recent high or low is supported by a genuine shift in buying or selling pressure. It requires price to clear the highest high (“HH1”) or lowest low (“LL1”) and, simultaneously, that the winning side shows a significant volume spike, dominance and ranking. Only when all volume and price conditions pass is a breakout labelled.
3.2 Inputs
• lookback_break_input : This controls the number of bars used to compute moving averages and percentiles for volume. A larger value smooths the averages and percentiles but makes the indicator respond more slowly.
• vol_mult_input : The “spike” multiplier; the current buy or sell volume must be at least this multiple of its moving average over the lookback window to qualify as a breakout.
• rank_threshold_input (0–100) : Defines a volume percentile cutoff: the current buyer/seller volume must be in the top (100−threshold)%(100−threshold)% of all volumes within the lookback window. For example, if set to 80, the current volume must be in the top 20 % of the lookback distribution.
• ratio_threshold_input (0–1) : Specifies the minimum share of total volume that the buyer (for a bullish breakout) or seller (for bearish) must hold on the current bar; the code also requires that the cumulative buyer volume over the lookback window exceeds the seller volume (and vice versa for bearish cases).
• use_custom_tf_input / custom_tf_input : When enabled, these inputs override the automatic choice of lower timeframe for up/down volume; otherwise the script selects a sensible default based on the chart’s timeframe.
• Label appearance settings : Separate options control the ATR-based offset length, offset multiplier, label size and colors for bullish and bearish breakout labels, as well as the connector style and width.
3.3 Detection logic
1. Data preparation : Retrieve per‑side volume from the lower timeframe and take absolute values. Build rolling arrays of the last lookback_break_input values to compute simple moving averages (SMAs), cumulative sums and percentile ranks for buy and sell volume.
2. Volume spike: A spike is flagged when the current buy (or, in the bearish case, sell) volume is at least vol_mult_input times its SMA over the lookback window.
3. Dominance test: The buyer’s (or seller’s) share of total volume on the current bar must meet or exceed ratio_threshold_input. In addition, the cumulative sum of buyer volume over the window must exceed the cumulative sum of seller volume for a bullish breakout (and vice versa for bearish). A separate requirement checks the sign of delta: for bullish breakouts delta_breakout must be non‑negative; for bearish breakouts it must be non‑positive.
4. Percentile rank: The current volume must fall within the top (100 – rank_threshold_input) percent of the lookback distribution—ensuring that the spike is unusually large relative to recent history.
5. Price test: For a bullish signal, the closing price must close above the highest pivot (HH1); for a bearish signal, the close must be below the lowest pivot (LL1).
6. Labeling: When all conditions above are satisfied, the indicator prints “Breakout ↑” above the bar (bullish) or “Breakout ↓” below the bar (bearish). Labels are offset using half of an ATR‑based distance and linked to the candle with a dotted connector.
Figure caption, (Breakout ↑ example) , On this daily chart, price pushes above the red trendline and the highest prior pivot (HH1). The indicator recognizes this as a valid breakout because the buyer‑side volume on the lower timeframe spikes above its recent moving average and buyers dominate the volume statistics over the lookback period; when combined with a close above HH1, this satisfies the breakout conditions. The “Breakout ↑” label appears above the candle, and the info table highlights that up‑volume is elevated relative to its 11‑bar average, buyer share exceeds the dominance threshold and money‑flow metrics support the move.
Figure caption, In this daily example, price breaks below the lowest pivot (LL1) and the lower green trendline. The indicator identifies this as a bearish breakout because sell‑side volume is sharply elevated—about twice its 11‑bar average—and sellers dominate both the bar and the lookback window. With the close falling below LL1, the script triggers a Breakout ↓ label and marks the corresponding row in the info table, which shows strong down volume, negative delta and a seller share comfortably above the dominance threshold.
4. Market Phase Module (Volume Only)
4.1 Concept
Not all markets trend; many cycle between periods of accumulation (buying pressure building up), distribution (selling pressure dominating) and neutral behavior. This module classifies the current bar into one of these phases without using ATR , relying solely on buyer and seller volume statistics. It looks at net flows, ratio changes and an OBV‑like cumulative line with dual‑reference (1‑ and 2‑bar) trends. The result is displayed both as on‑chart labels and in a dedicated row of the info table.
4.2 Inputs
• phase_period_len: Number of bars over which to compute sums and ratios for phase detection.
• phase_ratio_thresh : Minimum buyer share (for accumulation) or minimum seller share (for distribution, derived as 1 − phase_ratio_thresh) of the total volume.
• strict_mode: When enabled, both the 1‑bar and 2‑bar changes in each statistic must agree on the direction (strict confirmation); when disabled, only one of the two references needs to agree (looser confirmation).
• Color customisation for info table cells and label styling for accumulation and distribution phases, including ATR length, multiplier, label size, colors and connector styles.
• show_phase_module: Toggles the entire phase detection subsystem.
• show_phase_labels: Controls whether on‑chart labels are drawn when accumulation or distribution is detected.
4.3 Detection logic
The module computes three families of statistics over the volume window defined by phase_period_len:
1. Net sum (buyers minus sellers): net_sum_phase = Σ(buy) − Σ(sell). A positive value indicates a predominance of buyers. The code also computes the differences between the current value and the values 1 and 2 bars ago (d_net_1, d_net_2) to derive up/down trends.
2. Buyer ratio: The instantaneous ratio TF_buy_breakout / TF_tot_breakout and the window ratio Σ(buy) / Σ(total). The current ratio must exceed phase_ratio_thresh for accumulation or fall below 1 − phase_ratio_thresh for distribution. The first and second differences of the window ratio (d_ratio_1, d_ratio_2) determine trend direction.
3. OBV‑like cumulative net flow: An on‑balance volume analogue obv_net_phase increments by TF_buy_breakout − TF_sell_breakout each bar. Its differences over the last 1 and 2 bars (d_obv_1, d_obv_2) provide trend clues.
The algorithm then combines these signals:
• For strict mode , accumulation requires: (a) current ratio ≥ threshold, (b) cumulative ratio ≥ threshold, (c) both ratio differences ≥ 0, (d) net sum differences ≥ 0, and (e) OBV differences ≥ 0. Distribution is the mirror case.
• For loose mode , it relaxes the directional tests: either the 1‑ or the 2‑bar difference needs to agree in each category.
If all conditions for accumulation are satisfied, the phase is labelled “Accumulation” ; if all conditions for distribution are satisfied, it’s labelled “Distribution” ; otherwise the phase is “Neutral” .
4.4 Outputs
• Info table row : Row 8 displays “Market Phase (Vol)” on the left and the detected phase (Accumulation, Distribution or Neutral) on the right. The text colour of both cells matches a user‑selectable palette (typically green for accumulation, red for distribution and grey for neutral).
• On‑chart labels : When show_phase_labels is enabled and a phase persists for at least one bar, the module prints a label above the bar ( “Accum” ) or below the bar ( “Dist” ) with a dashed or dotted connector. The label is offset using ATR based on phase_label_atr_len_input and phase_label_multiplier and is styled according to user preferences.
Figure caption, The chart displays a red “Dist” label above a particular bar, indicating that the accumulation/distribution module identified a distribution phase at that point. The detection is based on seller dominance: during that bar, the net buyer-minus-seller flow and the OBV‑style cumulative flow were trending down, and the buyer ratio had dropped below the preset threshold. These conditions satisfy the distribution criteria in strict mode. The label is placed above the bar using an ATR‑based offset and a dashed connector. By the time of the current bar in the screenshot, the phase indicator shows “Neutral” in the info table—signaling that neither accumulation nor distribution conditions are currently met—yet the historical “Dist” label remains to mark where the prior distribution phase began.
Figure caption, In this example the market phase module has signaled an Accumulation phase. Three bars before the current candle, the algorithm detected a shift toward buyers: up‑volume exceeded its moving average, down‑volume was below average, and the buyer share of total volume climbed above the threshold while the on‑balance net flow and cumulative ratios were trending upwards. The blue “Accum” label anchored below that bar marks the start of the phase; it remains on the chart because successive bars continue to satisfy the accumulation conditions. The info table confirms this: the “Market Phase (Vol)” row still reads Accumulation, and the ratio and sum rows show buyers dominating both on the current bar and across the lookback window.
5. OB/OS Spike Module
5.1 What overbought/oversold means here
In many markets, a rapid extension up or down is often followed by a period of consolidation or reversal. The indicator interprets overbought (OB) conditions as abnormally strong selling risk at or after a price rally and oversold (OS) conditions as unusually strong buying risk after a decline. Importantly, these are not direct trade signals; rather they flag areas where caution or contrarian setups may be appropriate.
5.2 Inputs
• minHits_obos (1–7): Minimum number of oscillators that must agree on an overbought or oversold condition for a label to print.
• syncWin_obos: Length of a small sliding window over which oscillator votes are smoothed by taking the maximum count observed. This helps filter out choppy signals.
• Volume spike criteria: kVolRatio_obos (ratio of current volume to its SMA) and zVolThr_obos (Z‑score threshold) across volLen_obos. Either threshold can trigger a spike.
• Oscillator toggles and periods: Each of RSI, Stochastic (K and D), Williams %R, CCI, MFI, DeMarker and Stochastic RSI can be independently enabled; their periods are adjustable.
• Label appearance: ATR‑based offset, size, colors for OB and OS labels, plus connector style and width.
5.3 Detection logic
1. Directional volume spikes: Volume spikes are computed separately for buyer and seller volumes. A sell volume spike (sellVolSpike) flags a potential OverBought bar, while a buy volume spike (buyVolSpike) flags a potential OverSold bar. A spike occurs when the respective volume exceeds kVolRatio_obos times its simple moving average over the window or when its Z‑score exceeds zVolThr_obos.
2. Oscillator votes: For each enabled oscillator, calculate its overbought and oversold state using standard thresholds (e.g., RSI ≥ 70 for OB and ≤ 30 for OS; Stochastic %K/%D ≥ 80 for OB and ≤ 20 for OS; etc.). Count how many oscillators vote for OB and how many vote for OS.
3. Minimum hits: Apply the smoothing window syncWin_obos to the vote counts using a maximum‑of‑last‑N approach. A candidate bar is only considered if the smoothed OB hit count ≥ minHits_obos (for OverBought) or the smoothed OS hit count ≥ minHits_obos (for OverSold).
4. Tie‑breaking: If both OverBought and OverSold spike conditions are present on the same bar, compare the smoothed hit counts: the side with the higher count is selected; ties default to OverBought.
5. Label printing: When conditions are met, the bar is labelled as “OverBought X/7” above the candle or “OverSold X/7” below it. “X” is the number of oscillators confirming, and the bracket lists the abbreviations of contributing oscillators. Labels are offset from price using half of an ATR‑scaled distance and can optionally include a dotted or dashed connector line.
Figure caption, In this chart the overbought/oversold module has flagged an OverSold signal. A sell‑off from the prior highs brought price down to the lower trend‑line, where the bar marked “OverSold 3/7 DeM” appears. This label indicates that on that bar the module detected a buy‑side volume spike and that at least three of the seven enabled oscillators—in this case including the DeMarker—were in oversold territory. The label is printed below the candle with a dotted connector, signaling that the market may be temporarily exhausted on the downside. After this oversold print, price begins to rebound towards the upper red trend‑line and higher pivot levels.
Figure caption, This example shows the overbought/oversold module in action. In the left‑hand panel you can see the OB/OS settings where each oscillator (RSI, Stochastic, Williams %R, CCI, MFI, DeMarker and Stochastic RSI) can be enabled or disabled, and the ATR length and label offset multiplier adjusted. On the chart itself, price has pushed up to the descending red trendline and triggered an “OverBought 3/7” label. That means the sell‑side volume spiked relative to its average and three out of the seven enabled oscillators were in overbought territory. The label is offset above the candle by half of an ATR and connected with a dashed line, signaling that upside momentum may be overextended and a pause or pullback could follow.
6. Buyer/Seller Trap Module
6.1 Concept
A bull trap occurs when price appears to break above resistance, attracting buyers, but fails to sustain the move and quickly reverses, leaving a long upper wick and trapping late entrants. A bear trap is the opposite: price breaks below support, lures in sellers, then snaps back, leaving a long lower wick and trapping shorts. This module detects such traps by looking for price structure sweeps, order‑flow mismatches and dominance reversals. It uses a scoring system to differentiate risk from confirmed traps.
6.2 Inputs
• trap_lookback_len: Window length used to rank extremes and detect sweeps.
• trap_wick_threshold: Minimum proportion of a bar’s range that must be wick (upper for bull traps, lower for bear traps) to qualify as a sweep.
• trap_score_risk: Minimum aggregated score required to flag a trap risk. (The code defines a trap_score_confirm input, but confirmation is actually based on price reversal rather than a separate score threshold.)
• trap_confirm_bars: Maximum number of bars allowed for price to reverse and confirm the trap. If price does not reverse in this window, the risk label will expire or remain unconfirmed.
• Label settings: ATR length and multiplier for offsetting, size, colours for risk and confirmed labels, and connector style and width. Separate settings exist for bull and bear traps.
• Toggle inputs: show_trap_module and show_trap_labels enable the module and control whether labels are drawn on the chart.
6.3 Scoring logic
The module assigns points to several conditions and sums them to determine whether a trap risk is present. For bull traps, the score is built from the following (bear traps mirror the logic with highs and lows swapped):
1. Sweep (2 points): Price trades above the high pivot (HH1) but fails to close above it and leaves a long upper wick at least trap_wick_threshold × range. For bear traps, price dips below the low pivot (LL1), fails to close below and leaves a long lower wick.
2. Close break (1 point): Price closes beyond HH1 or LL1 without leaving a long wick.
3. Candle/delta mismatch (2 points): The candle closes bullish yet the order flow delta is negative or the seller ratio exceeds 50%, indicating hidden supply. Conversely, a bearish close with positive delta or buyer dominance suggests hidden demand.
4. Dominance inversion (2 points): The current bar’s buyer volume has the highest rank in the lookback window while cumulative sums favor sellers, or vice versa.
5. Low‑volume break (1 point): Price crosses the pivot but total volume is below its moving average.
The total score for each side is compared to trap_score_risk. If the score is high enough, a “Bull Trap Risk” or “Bear Trap Risk” label is drawn, offset from the candle by half of an ATR‑scaled distance using a dashed outline. If, within trap_confirm_bars, price reverses beyond the opposite level—drops back below the high pivot for bull traps or rises above the low pivot for bear traps—the label is upgraded to a solid “Bull Trap” or “Bear Trap” . In this version of the code, there is no separate score threshold for confirmation: the variable trap_score_confirm is unused; confirmation depends solely on a successful price reversal within the specified number of bars.
Figure caption, In this example the trap module has flagged a Bear Trap Risk. Price initially breaks below the most recent low pivot (LL1), but the bar closes back above that level and leaves a long lower wick, suggesting a failed push lower. Combined with a mismatch between the candle direction and the order flow (buyers regain control) and a reversal in volume dominance, the aggregate score exceeds the risk threshold, so a dashed “Bear Trap Risk” label prints beneath the bar. The green and red trend lines mark the current low and high pivot trajectories, while the horizontal dashed lines show the highest and lowest values in the lookback window. If, within the next few bars, price closes decisively above the support, the risk label would upgrade to a solid “Bear Trap” label.
Figure caption, In this example the trap module has identified both ends of a price range. Near the highs, price briefly pushes above the descending red trendline and the recent pivot high, but fails to close there and leaves a noticeable upper wick. That combination of a sweep above resistance and order‑flow mismatch generates a Bull Trap Risk label with a dashed outline, warning that the upside break may not hold. At the opposite extreme, price later dips below the green trendline and the labelled low pivot, then quickly snaps back and closes higher. The long lower wick and subsequent price reversal upgrade the previous bear‑trap risk into a confirmed Bear Trap (solid label), indicating that sellers were caught on a false breakdown. Horizontal dashed lines mark the highest high and lowest low of the lookback window, while the red and green diagonals connect the earliest and latest pivot highs and lows to visualize the range.
7. Sharp Move Module
7.1 Concept
Markets sometimes display absorption or climax behavior—periods when one side steadily gains the upper hand before price breaks out with a sharp move. This module evaluates several order‑flow and volume conditions to anticipate such moves. Users can choose how many conditions must be met to flag a risk and how many (plus a price break) are required for confirmation.
7.2 Inputs
• sharp Lookback: Number of bars in the window used to compute moving averages, sums, percentile ranks and reference levels.
• sharpPercentile: Minimum percentile rank for the current side’s volume; the current buy (or sell) volume must be greater than or equal to this percentile of historical volumes over the lookback window.
• sharpVolMult: Multiplier used in the volume climax check. The current side’s volume must exceed this multiple of its average to count as a climax.
• sharpRatioThr: Minimum dominance ratio (current side’s volume relative to the opposite side) used in both the instant and cumulative dominance checks.
• sharpChurnThr: Maximum ratio of a bar’s range to its ATR for absorption/churn detection; lower values indicate more absorption (large volume in a small range).
• sharpScoreRisk: Minimum number of conditions that must be true to print a risk label.
• sharpScoreConfirm: Minimum number of conditions plus a price break required for confirmation.
• sharpCvdThr: Threshold for cumulative delta divergence versus price change (positive for bullish accumulation, negative for bearish distribution).
• Label settings: ATR length (sharpATRlen) and multiplier (sharpLabelMult) for positioning labels, label size, colors and connector styles for bullish and bearish sharp moves.
• Toggles: enableSharp activates the module; show_sharp_labels controls whether labels are drawn.
7.3 Conditions (six per side)
For each side, the indicator computes six boolean conditions and sums them to form a score:
1. Dominance (instant and cumulative):
– Instant dominance: current buy volume ≥ sharpRatioThr × current sell volume.
– Cumulative dominance: sum of buy volumes over the window ≥ sharpRatioThr × sum of sell volumes (and vice versa for bearish checks).
2. Accumulation/Distribution divergence: Over the lookback window, cumulative delta rises by at least sharpCvdThr while price fails to rise (bullish), or cumulative delta falls by at least sharpCvdThr while price fails to fall (bearish).
3. Volume climax: The current side’s volume is ≥ sharpVolMult × its average and the product of volume and bar range is the highest in the lookback window.
4. Absorption/Churn: The current side’s volume divided by the bar’s range equals the highest value in the window and the bar’s range divided by ATR ≤ sharpChurnThr (indicating large volume within a small range).
5. Percentile rank: The current side’s volume percentile rank is ≥ sharp Percentile.
6. Mirror logic for sellers: The above checks are repeated with buyer and seller roles swapped and the price break levels reversed.
Each condition that passes contributes one point to the corresponding side’s score (0 or 1). Risk and confirmation thresholds are then applied to these scores.
7.4 Scoring and labels
• Risk: If scoreBull ≥ sharpScoreRisk, a “Sharp ↑ Risk” label is drawn above the bar. If scoreBear ≥ sharpScoreRisk, a “Sharp ↓ Risk” label is drawn below the bar.
• Confirmation: A risk label is upgraded to “Sharp ↑” when scoreBull ≥ sharpScoreConfirm and the bar closes above the highest recent pivot (HH1); for bearish cases, confirmation requires scoreBear ≥ sharpScoreConfirm and a close below the lowest pivot (LL1).
• Label positioning: Labels are offset from the candle by ATR × sharpLabelMult (full ATR times multiplier), not half, and may include a dashed or dotted connector line if enabled.
Figure caption, In this chart both bullish and bearish sharp‑move setups have been flagged. Earlier in the range, a “Sharp ↓ Risk” label appears beneath a candle: the sell‑side score met the risk threshold, signaling that the combination of strong sell volume, dominance and absorption within a narrow range suggested a potential sharp decline. The price did not close below the lower pivot, so this label remains a “risk” and no confirmation occurred. Later, as the market recovered and volume shifted back to the buy side, a “Sharp ↑ Risk” label prints above a candle near the top of the channel. Here, buy‑side dominance, cumulative delta divergence and a volume climax aligned, but price has not yet closed above the upper pivot (HH1), so the alert is still a risk rather than a confirmed sharp‑up move.
Figure caption, In this chart a Sharp ↑ label is displayed above a candle, indicating that the sharp move module has confirmed a bullish breakout. Prior bars satisfied the risk threshold — showing buy‑side dominance, positive cumulative delta divergence, a volume climax and strong absorption in a narrow range — and this candle closes above the highest recent pivot, upgrading the earlier “Sharp ↑ Risk” alert to a full Sharp ↑ signal. The green label is offset from the candle with a dashed connector, while the red and green trend lines trace the high and low pivot trajectories and the dashed horizontals mark the highest and lowest values of the lookback window.
8. Market‑Maker / Spread‑Capture Module
8.1 Concept
Liquidity providers often “capture the spread” by buying and selling in almost equal amounts within a very narrow price range. These bars can signal temporary congestion before a move or reflect algorithmic activity. This module flags bars where both buyer and seller volumes are high, the price range is only a few ticks and the buy/sell split remains close to 50%. It helps traders spot potential liquidity pockets.
8.2 Inputs
• scalpLookback: Window length used to compute volume averages.
• scalpVolMult: Multiplier applied to each side’s average volume; both buy and sell volumes must exceed this multiple.
• scalpTickCount: Maximum allowed number of ticks in a bar’s range (calculated as (high − low) / minTick). A value of 1 or 2 captures ultra‑small bars; increasing it relaxes the range requirement.
• scalpDeltaRatio: Maximum deviation from a perfect 50/50 split. For example, 0.05 means the buyer share must be between 45% and 55%.
• Label settings: ATR length, multiplier, size, colors, connector style and width.
• Toggles : show_scalp_module and show_scalp_labels to enable the module and its labels.
8.3 Signal
When, on the current bar, both TF_buy_breakout and TF_sell_breakout exceed scalpVolMult times their respective averages and (high − low)/minTick ≤ scalpTickCount and the buyer share is within scalpDeltaRatio of 50%, the module prints a “Spread ↔” label above the bar. The label uses the same ATR offset logic as other modules and draws a connector if enabled.
Figure caption, In this chart the spread‑capture module has identified a potential liquidity pocket. Buyer and seller volumes both spiked above their recent averages, yet the candle’s range measured only a couple of ticks and the buy/sell split stayed close to 50 %. This combination met the module’s criteria, so it printed a grey “Spread ↔” label above the bar. The red and green trend lines link the earliest and latest high and low pivots, and the dashed horizontals mark the highest high and lowest low within the current lookback window.
9. Money Flow Module
9.1 Concept
To translate volume into a monetary measure, this module multiplies each side’s volume by the closing price. It tracks buying and selling system money default currency on a per-bar basis and sums them over a chosen period. The difference between buy and sell currencies (Δ$) shows net inflow or outflow.
9.2 Inputs
• mf_period_len_mf: Number of bars used for summing buy and sell dollars.
• Label appearance settings: ATR length, multiplier, size, colors for up/down labels, and connector style and width.
• Toggles: Use enableMoneyFlowLabel_mf and showMFLabels to control whether the module and its labels are displayed.
9.3 Calculations
• Per-bar money: Buy $ = TF_buy_breakout × close; Sell $ = TF_sell_breakout × close. Their difference is Δ$ = Buy $ − Sell $.
• Summations: Over mf_period_len_mf bars, compute Σ Buy $, Σ Sell $ and ΣΔ$ using math.sum().
• Info table entries: Rows 9–13 display these values as texts like “↑ USD 1234 (1M)” or “ΣΔ USD −5678 (14)”, with colors reflecting whether buyers or sellers dominate.
• Money flow status: If Δ$ is positive the bar is marked “Money flow in” ; if negative, “Money flow out” ; if zero, “Neutral”. The cumulative status is similarly derived from ΣΔ.Labels print at the bar that changes the sign of ΣΔ, offset using ATR × label multiplier and styled per user preferences.
Figure caption, The chart illustrates a steady rise toward the highest recent pivot (HH1) with price riding between a rising green trend‑line and a red trend‑line drawn through earlier pivot highs. A green Money flow in label appears above the bar near the top of the channel, signaling that net dollar flow turned positive on this bar: buy‑side dollar volume exceeded sell‑side dollar volume, pushing the cumulative sum ΣΔ$ above zero. In the info table, the “Money flow (bar)” and “Money flow Σ” rows both read In, confirming that the indicator’s money‑flow module has detected an inflow at both bar and aggregate levels, while other modules (pivots, trend lines and support/resistance) remain active to provide structural context.
In this example the Money Flow module signals a net outflow. Price has been trending downward: successive high pivots form a falling red trend‑line and the low pivots form a descending green support line. When the latest bar broke below the previous low pivot (LL1), both the bar‑level and cumulative net dollar flow turned negative—selling volume at the close exceeded buying volume and pushed the cumulative Δ$ below zero. The module reacts by printing a red “Money flow out” label beneath the candle; the info table confirms that the “Money flow (bar)” and “Money flow Σ” rows both show Out, indicating sustained dominance of sellers in this period.
10. Info Table
10.1 Purpose
When enabled, the Info Table appears in the lower right of your chart. It summarises key values computed by the indicator—such as buy and sell volume, delta, total volume, breakout status, market phase, and money flow—so you can see at a glance which side is dominant and which signals are active.
10.2 Symbols
• ↑ / ↓ — Up (↑) denotes buy volume or money; down (↓) denotes sell volume or money.
• MA — Moving average. In the table it shows the average value of a series over the lookback period.
• Σ (Sigma) — Cumulative sum over the chosen lookback period.
• Δ (Delta) — Difference between buy and sell values.
• B / S — Buyer and seller share of total volume, expressed as percentages.
• Ref. Price — Reference price for breakout calculations, based on the latest pivot.
• Status — Indicates whether a breakout condition is currently active (True) or has failed.
10.3 Row definitions
1. Up volume / MA up volume – Displays current buy volume on the lower timeframe and its moving average over the lookback period.
2. Down volume / MA down volume – Shows current sell volume and its moving average; sell values are formatted in red for clarity.
3. Δ / ΣΔ – Lists the difference between buy and sell volume for the current bar and the cumulative delta volume over the lookback period.
4. Σ / MA Σ (Vol/MA) – Total volume (buy + sell) for the bar, with the ratio of this volume to its moving average; the right cell shows the average total volume.
5. B/S ratio – Buy and sell share of the total volume: current bar percentages and the average percentages across the lookback period.
6. Buyer Rank / Seller Rank – Ranks the bar’s buy and sell volumes among the last (n) bars; lower rank numbers indicate higher relative volume.
7. Σ Buy / Σ Sell – Sum of buy and sell volumes over the lookback window, indicating which side has traded more.
8. Breakout UP / DOWN – Shows the breakout thresholds (Ref. Price) and whether the breakout condition is active (True) or has failed.
9. Market Phase (Vol) – Reports the current volume‑only phase: Accumulation, Distribution or Neutral.
10. Money Flow – The final rows display dollar amounts and status:
– ↑ USD / Σ↑ USD – Buy dollars for the current bar and the cumulative sum over the money‑flow period.
– ↓ USD / Σ↓ USD – Sell dollars and their cumulative sum.
– Δ USD / ΣΔ USD – Net dollar difference (buy minus sell) for the bar and cumulatively.
– Money flow (bar) – Indicates whether the bar’s net dollar flow is positive (In), negative (Out) or neutral.
– Money flow Σ – Shows whether the cumulative net dollar flow across the chosen period is positive, negative or neutral.
The chart above shows a sequence of different signals from the indicator. A Bull Trap Risk appears after price briefly pushes above resistance but fails to hold, then a green Accum label identifies an accumulation phase. An upward breakout follows, confirmed by a Money flow in print. Later, a Sharp ↓ Risk warns of a possible sharp downturn; after price dips below support but quickly recovers, a Bear Trap label marks a false breakdown. The highlighted info table in the center summarizes key metrics at that moment, including current and average buy/sell volumes, net delta, total volume versus its moving average, breakout status (up and down), market phase (volume), and bar‑level and cumulative money flow (In/Out).
11. Conclusion & Final Remarks
This indicator was developed as a holistic study of market structure and order flow. It brings together several well‑known concepts from technical analysis—breakouts, accumulation and distribution phases, overbought and oversold extremes, bull and bear traps, sharp directional moves, market‑maker spread bars and money flow—into a single Pine Script tool. Each module is based on widely recognized trading ideas and was implemented after consulting reference materials and example strategies, so you can see in real time how these concepts interact on your chart.
A distinctive feature of this indicator is its reliance on per‑side volume: instead of tallying only total volume, it separately measures buy and sell transactions on a lower time frame. This approach gives a clearer view of who is in control—buyers or sellers—and helps filter breakouts, detect phases of accumulation or distribution, recognize potential traps, anticipate sharp moves and gauge whether liquidity providers are active. The money‑flow module extends this analysis by converting volume into currency values and tracking net inflow or outflow across a chosen window.
Although comprehensive, this indicator is intended solely as a guide. It highlights conditions and statistics that many traders find useful, but it does not generate trading signals or guarantee results. Ultimately, you remain responsible for your positions. Use the information presented here to inform your analysis, combine it with other tools and risk‑management techniques, and always make your own decisions when trading.
Fundur - Market Sentiment A Fundur - Market Sentiment A: Complete Trading Indicator Guide
Indicator Overview
The Fundur - Market Sentiment A is a revolutionary multi-timeframe sentiment analysis indicator that combines advanced ZigZag pivot detection, wave-based structure analysis, and comprehensive market sentiment evaluation into one powerful trading tool. This indicator is designed to identify high-probability reversal points and trend continuations by analyzing market sentiment across 11 different timeframes simultaneously.
What Makes Market Sentiment A Unique?
Market Sentiment A is a sophisticated ZigZag system that utilizes the Market Sentiment B oscillator to perform advanced on-chart analysis against price action. By introducing Histogram-Correlated ZigZag Analysis - a breakthrough methodology that correlates sentiment histogram waves with actual price pivots to identify validated market extremes. Unlike static pivot indicators, Market Sentiment A provides dynamic analysis that adapts to changing market conditions while maintaining precise accuracy in pivot identification.
Core Methodology
The indicator operates on the principle that market sentiment oscillates in measurable waves that precede price movements. By analyzing sentiment patterns across multiple timeframes and correlating them with histogram wave behavior, traders can identify precise entry and exit points with quantifiable strength ratings and comprehensive wave event analysis.
Key Features
🎯 Revolutionary ZigZag System
Histogram-Correlated Detection : Unique correlation between sentiment waves and price pivots
Dynamic Speed Control : High, Medium, Low sensitivity settings for different market conditions
Validated Extremes : Only confirmed pivots are marked with comprehensive validation system
Real-Time Correlation : Live correlation between histogram turns and price extremes
📊 Multi-Timeframe Sentiment Engine
11 Timeframe Analysis : Simultaneous analysis across periods from 8 to 987 bars
Advanced Sentiment Calculation : Proprietary algorithm combining multiple sentiment factors
Momentum Wave Integration : 34-period momentum waves for trend context
Dynamic Smoothing : Optional smoothing for cleaner signals
🧠 Intelligent Wave Event Tracking
Green Wave Events : Bullish histogram wave analysis with comprehensive event detection
Red Wave Events : Bearish histogram wave analysis with detailed event tracking
Event Deduplication : Advanced system prevents duplicate event detection
10+ Event Types : MPIV, HTURN, TRI, SW, VOL, MDIV, HDIV, PDIV and more
⚖️ Advanced Strength Rating System
0-100 Strength Score : Comprehensive strength calculation for every pivot
Multi-Factor Analysis : Based on wave events, trend context, structure, and sentiment
Real-Time Calculation : Dynamic strength scoring as conditions change
Strength Breakdown : Detailed tooltip showing strength components
🎨 Sophisticated Visual System
Validated Pivot Labels : Clear ✓ markers for confirmed extremes
Structure Analysis : HH/HL/LH/LL structure identification with trend context
Dynamic ZigZag Lines : Connecting validated extremes with trend-based coloring
Bar Coloring Options : Momentum swings and market sentiment bar coloring
Comprehensive Tooltips : Detailed information on hover for every pivot
Setup Guide
Step 1: Adding the Indicator
Open TradingView and navigate to your desired chart
Click the "Indicators" button or press "/" key
Search for "Fundur - Market Sentiment A"
Add the indicator to your chart
Step 2: Core System Configuration
ZigZag System Settings
✅ Enable ZigZag System: ON (Core functionality)
ZigZag Speed : Choose based on your trading style:
High Speed : Most sensitive, fastest detection (2-bar lookback) - Best for scalping
Medium Speed : Balanced approach (3-bar lookback) - Recommended for most traders
Low Speed : Most reliable, slower detection (4-bar lookback) - Best for swing trading
✅ Show ZigZag Lines: ON (Visual connection of validated pivots)
Bar Coloring Settings
⚠️ Momentum Swings: OFF (Avoid visual clutter initially)
✅ Market Sentiment: ON (Primary sentiment-based bar coloring)
Step 3: Label Display Configuration
Essential Labels (Recommended Settings)
✅ Show Validated Pivots (✓): ON (Core validated extremes)
⚠️ Show Potential Turns (●): OFF (Reduces noise - enable once familiar)
⚠️ Show Structure Labels: OFF (Start clean, enable for advanced analysis)
⚠️ Include Trend in Structure Labels: OFF (Advanced feature)
✅ Show Strength Rating (💪): ON (Critical for trade quality assessment)
⚠️ Show Market Sentiment Wave Events: OFF (Advanced feature for later)
Label Visual Customization
Label Coloring : Standard (Highs=Red, Lows=Green)
Label Size : Normal
Label Transparency : 0%
Text Transparency : 0%
Step 4: Alert System Setup
✅ Enable Alerts: ON
⚠️ Alert Potential Bullish Turns: OFF (Disabled by design to prevent noise)
⚠️ Alert Potential Bearish Turns: OFF (Disabled by design to prevent noise)
✅ Alert ONLY on Confirmed Extremes: ON (High-quality signals only)
✅ Include Wave Events in Confirmed Alerts: ON (Comprehensive context)
Basic Trading Guide
Understanding the Dynamic ZigZag System
Market Sentiment A is fundamentally a Dynamic ZigZag System that displays validated highs and lows on your price chart. The indicator uses Market Sentiment B wave calculations internally to determine when sentiment waves finish, but these histograms and oscillators are NOT displayed on your chart .
What You See on Your Chart:
✓ Validated Highs : Red checkmarks marking confirmed resistance levels
✓ Validated Lows : Green checkmarks marking confirmed support levels
ZigZag Lines : Connecting validated extremes to show market structure
💪 Strength Ratings : 0-100 scores indicating signal quality
Structure Labels : HH/HL/LH/LL showing trend context
How Validation Works (Behind the Scenes):
High Validation : Uses Market Sentiment B wave analysis to confirm when a price high represents a true resistance level
Low Validation : Uses Market Sentiment B wave analysis to confirm when a price low represents a true support level
Dynamic Detection : Continuously monitors sentiment waves to validate extremes in real-time
Quality Filtering : Only displays the most significant highs and lows based on wave completion
Key Trading Concept:
Focus entirely on the validated highs and lows displayed on your chart. These represent dynamic support and resistance levels that have been confirmed by underlying sentiment analysis. The histogram and oscillator calculations happen internally - your trading decisions should be based on price action around these validated levels.
Entry Strategies
Primary Strategy: Dynamic Support/Resistance Reversals
Setup : Wait for validated pivot with ✓ marker and strength rating displayed on chart
Entry Timing : Enter on the bar when validation occurs or on pullback to the validated level
Direction : Counter-trend to the validated extreme (buy at validated lows/support, sell at validated highs/resistance)
Confirmation : Look for strength rating above 60 for higher probability setups
Structure Context : Consider overall trend using HH/HL/LH/LL structure labels
Secondary Strategy: ZigZag Trend Continuation
Setup : Identify trend direction using consecutive validated highs and lows
Entry : Enter in trend direction when price pulls back to previous validated level
Confirmation : Look for structure labels confirming trend (HH/HL for uptrend, LH/LL for downtrend)
Strength Filter : Use strength ratings above 70 for trend continuation entries
Stop Loss Methodology
For Long Positions (Validated Lows) : Place stop below the validated low price level
For Short Positions (Validated Highs) : Place stop above the validated high price level
Alternative Method : Use previous validated extreme in opposite direction as stop level
Structure-Based Method : Use significant validated levels that would invalidate the trade setup
Buffer Consideration : Add small buffer beyond validated level to account for wicks and spread
Profit Taking Strategy
For Long Positions (Validated Low Entries):
Target 1 : Previous validated high shown on chart (75% of position)
Target 2 : Next significant validated high or key resistance level (50% of remaining 25% = 12.5% of original position)
Target 3 : Extended targets using ZigZag structure analysis and trend context (remaining 12.5% of original position)
Management : Move stop loss to breakeven once first target (TP1) is executed
For Short Positions (Validated High Entries):
Target 1 : Previous validated low shown on chart (75% of position)
Target 2 : Next significant validated low or key support level (50% of remaining 25% = 12.5% of original position)
Target 3 : Extended targets using ZigZag structure analysis and trend context (remaining 12.5% of original position)
Management : Move stop loss to breakeven once first target (TP1) is executed
ZigZag Structure Trading Approach
Sideways Markets : Trade between validated highs and lows - buy at support, sell at resistance
Trending Markets : Use validated levels as pullback entry points in trend direction
Structure Breaks : Watch for breaks of significant validated levels to signal trend changes
Range Identification : Use consecutive validated highs and lows to identify trading ranges
Breakout Trading : Enter when price breaks beyond validated levels with strong momentum
Strength Rating Interpretation
Understanding the 0-100 Strength Score
The strength rating combines multiple factors:
Base Strength (25 points) : Fundamental pivot validation
Wave Events (12 points each) : Number and quality of wave events detected
Trend Context (5-10 points) : Alignment with overall trend direction
Structure Quality (3-8 points) : HH/HL/LH/LL structure strength
Sentiment Position (5-10 points) : Extreme sentiment readings
Momentum Context (5 points) : Momentum divergence confirmation
Strength Categories
90-100 : Exceptional strength - Highest probability setups
75-89 : Strong signal - High confidence trades
60-74 : Good signal - Solid trading opportunities
45-59 : Moderate signal - Use additional confirmation
30-44 : Weak signal - Proceed with caution
Below 30 : Very weak - Generally avoid
Wave Event Reference (Calculation Background)
Understanding Wave Events in Strength Calculations
Wave events are used internally by Market Sentiment A to calculate strength ratings and validate pivots. While these events may appear in alert messages or tooltips, they are not meant for direct trading decisions - they are calculation components that contribute to the overall strength score.
Key Wave Events (For Reference Only)
MPIV↑/MPIV↓ : Momentum pivot detection used in validation process
HTURN : Histogram turn identification used for wave completion
TRI↑/TRI↓ : Triangle pattern detection contributing to strength calculation
SW : Small wave indication affecting pivot quality assessment
VOL : Volume spike detection adding to strength scoring
MDIV↑/MDIV↓ : Momentum divergence contributing to validation strength
HDIV↑/HDIV↓ : Histogram divergence used in pivot confirmation
PDIV↑/PDIV↓ : Price divergence analysis for strength enhancement
How Wave Events Affect Your Trading
Strength Score Impact : More events generally result in higher strength ratings for validated pivots
Alert Context : Events may be mentioned in alerts to provide background on signal quality
Focus on Results : Instead of analyzing individual events, focus on the final strength rating and validated pivot levels
Trust the System : The indicator processes these events automatically - your job is to trade the validated highs and lows
Analysis Setups
Setup 1: Scalping Configuration (1-5 minute charts)
Core Settings:
ZigZag Speed: High (fastest detection for quick scalps)
Show Validated Pivots: ON
Show Strength Rating: ON
Bar Coloring: Market Sentiment
Visual Settings:
Label Size: Small (reduce visual clutter)
ZigZag Lines: ON
Potential Turns: ON (for immediate signals)
Trading Approach:
Focus on strength ratings above 70 for scalp entries
Quick entries at validated highs/lows with immediate execution
Tight stops just beyond validated levels
Target previous validated pivots shown on chart for quick profits
Use ZigZag structure to identify rapid reversal opportunities
Setup 2: Day Trading Configuration (5-15 minute charts)
Core Settings:
ZigZag Speed: Medium (balanced approach)
Show Validated Pivots: ON
Show Strength Rating: ON
Include Wave Events: ON (for context)
Visual Settings:
Label Size: Normal
Show Structure Labels: ON (for trend context)
ZigZag Lines: ON with trend coloring
Trading Approach:
Wait for strength ratings above 60 for quality setups
Use HH/HL/LH/LL structure labels for trend bias
Combine reversal trades at extremes with trend continuation at pullbacks
Hold positions targeting next validated pivot levels
Use ZigZag structure analysis for entry timing and market context
Setup 3: Swing Trading Configuration (1-4 hour charts)
Core Settings:
ZigZag Speed: Low (most reliable signals)
Show Validated Pivots: ON
Show Structure Labels: ON
Include Trend Analysis: ON
Visual Settings:
Label Size: Normal
Show all wave events for comprehensive analysis
Enable all alert types
Trading Approach:
Focus on strength ratings above 75 for swing positions
Emphasize trend continuation using ZigZag structure
Use validated level breaks for major position adjustments
Hold positions across multiple sessions targeting distant validated levels
Use comprehensive structure analysis (HH/HL/LH/LL) for entries/exits
Setup 4: Position Trading Configuration (4H-Daily charts)
Core Settings:
ZigZag Speed: Low (maximum reliability)
Show Validated Pivots: ON
Show Structure Labels: ON
Show all analysis features
Visual Settings:
Clean, comprehensive labeling
Full wave event display
Trend-based coloring for major bias
Trading Approach:
Only trade strength ratings above 80 for position entries
Focus on major ZigZag structure changes and validated level breaks
Use long-term structure analysis (HH/HL/LH/LL) for bias
Hold positions for weeks to months targeting major validated levels
Align with fundamental analysis and major market structure
Setup 5: Multi-Asset Analysis Configuration
For Forex Pairs:
Use Medium to Low speed settings
Focus on major session changes
Pay attention to news event correlation
Use strength ratings above 70
For Crypto Assets:
Medium speed for 24/7 market adaptation
Higher volatility requires strength above 75
Monitor weekend behavior patterns
Consider market sentiment cycles
For Stock Markets:
Align with market hours
Consider earnings and economic events
Use sector-specific analysis
Respect market close/open dynamics
Visual Components
Core Visual Elements
✓ Validated Pivots : Green checkmarks for confirmed lows, red for confirmed highs
● Potential Turns : Small dots showing histogram turn correlations (optional)
ZigZag Lines : Connecting validated extremes with trend-based coloring
💪 Strength Ratings : Numerical strength scores from 0-100
Structure Labels : HH/HL/LH/LL with trend context (optional)
Bar Coloring System
Market Sentiment Coloring : Based on sentiment oscillator position and momentum
Extreme Conditions : Special coloring for extreme overbought/oversold conditions
Momentum Swing Coloring : Alternative coloring based on momentum analysis
Advanced Visual Features
Wave Event Labels : Comprehensive event display within pivot labels
Trend Context : Dynamic trend identification and display
Strength Breakdown : Detailed tooltips showing strength components
Custom Coloring Modes : Standard vs trend-based coloring options
Alert System
Core Alert Types
Validated High Confirmed : When red wave validates ultimate high with full context
Validated Low Confirmed : When green wave validates ultimate low with full context
Trend Change Detected : When structure analysis detects trend shifts
Alert Message Structure
Each alert includes:
Timeframe identification
Signal type (BULLISH/BEARISH)
Structure context (HH/HL/LH/LL)
Strength score with 💪 rating
Exact price level
Wave events context (if enabled)
Setting Up Alerts
Enable desired alert types in indicator settings
Focus on "Confirmed Extremes" alerts for quality
Enable wave events for comprehensive context
Test alerts on historical data first
Set up multiple notification methods
Risk Management Framework
Strength-Based Position Sizing
Strength 90-100 : Maximum position size (3-5% risk)
Strength 75-89 : Large position size (2-3% risk)
Strength 60-74 : Standard position size (1-2% risk)
Strength 45-59 : Small position size (0.5-1% risk)
Below 45 : Avoid or minimal size (0.25% risk maximum)
Stop Loss Guidelines
Primary Method : Always use validated pivot levels for stops
Buffer Method : Add small buffer beyond validation level
Multiple Timeframe : Consider higher timeframe validated levels
Wave Event Context : Adjust stops based on event confluence
Risk-Reward Optimization
Minimum R:R : 1.5:1 for all trades
Preferred R:R : 2:1 or better for strength above 70
Exceptional Setups : 3:1+ for strength above 85
Position Management : Take 75% at TP1, 50% of remaining at TP2, close remaining at TP3
Stop Management : Move stop to breakeven after TP1 execution
Best Practices
Signal Quality Assessment
Always wait for validated pivots with ✓ checkmarks displayed on chart
Prioritize strength ratings above 60 for trade quality
Focus on the validated high/low levels rather than underlying calculations
Consider HH/HL/LH/LL structure labels for directional bias
Use ZigZag line connections to understand market structure flow
Entry Timing Optimization
Enter on validation bar or immediate pullback to validated level
Use lower timeframes for precise entry refinement around validated levels
Wait for strength score calculation completion before entry
Monitor price action around validated highs and lows
Consider multiple timeframe validated level alignment
Exit Strategy Management
Use opposite validated pivots displayed on chart as primary targets
Execute Fundur 3-stage exit: 75% at TP1, 12.5% at TP2, 12.5% at TP3
Move stop loss to breakeven immediately after TP1 execution
Monitor strength ratings of new validated levels that could reverse remaining position
Watch for structure changes (trend breaks) via HH/HL/LH/LL labels for early exit consideration
Common Mistakes to Avoid
Signal Interpretation Errors
Don't trade potential turns without ✓ validation markers
Never ignore strength ratings below 45 - they indicate weak signals
Don't chase signals after significant movement away from validated levels
Avoid overriding clear ZigZag structure and trend context
Don't ignore the relationship between consecutive validated highs and lows
Risk Management Failures
Never risk more than the strength score suggests for position sizing
Don't move stops against validated levels - they represent key structure
Avoid oversizing on "sure thing" setups - even high-strength signals can fail
Don't ignore multiple timeframe validated level context
Never trade without clear invalidation levels (validated highs/lows for stops)
System Usage Mistakes
Don't enable all features immediately - start simple
Avoid changing speed settings mid-session
Don't ignore alert system capabilities
Never disable core validation features
Don't overlook customization for your chart setup
Advanced Techniques
Multi-Timeframe ZigZag Analysis
Use higher timeframe validated levels for major bias and targets
Align lower timeframe entries with higher timeframe validated structure
Look for validated level confluence across timeframes
Monitor strength rating consistency of validated levels across periods
Advanced Structure Pattern Recognition
Identify recurring validated level patterns and their outcomes
Recognize high-probability ZigZag structure sequences
Use historical validated level patterns for target projection
Combine ZigZag analysis with other Fundur technical analysis tools
Advanced Alert Utilization
Create custom alert combinations based on strength thresholds
Use validated level break alerts for position management
Combine strength rating filters with validated pivot alerts
Develop systematic responses to different validated level types
Conclusion
The Fundur - Market Sentiment A indicator represents a breakthrough in technical analysis, providing a dynamic ZigZag system that displays validated highs and lows with unprecedented accuracy. By following the methodologies outlined in this guide and adapting the settings to your trading style, you can harness the full power of this sophisticated system for more precise and profitable trading decisions.
The key to success with Market Sentiment A lies in understanding that it is fundamentally a dynamic support and resistance system. Focus on the validated highs and lows displayed on your chart, use the strength ratings to assess signal quality, and leverage the structure analysis for trend context. Start with conservative settings, focus on high-strength signals, and gradually incorporate advanced features as you become familiar with the system's behavior across different market conditions.
Remember that this indicator provides the tools for identification and analysis - successful trading still requires proper risk management, psychological discipline, and continuous learning. Use the strength rating system as your primary guide, respect the validated pivot methodology, and always prioritize capital preservation over profit maximization.






















